Mass removal of all Tabs (Style Warnings)
[aaf/authz.git] / cadi / aaf / src / main / java / org / onap / aaf / cadi / obasic / OBasicHttpTaf.java
index ff0c246..688f30b 100644 (file)
@@ -68,129 +68,129 @@ import org.onap.aaf.misc.env.util.Pool.Pooled;
  *
  */
 public class OBasicHttpTaf extends AbsOTafLur implements HttpTaf {
-       private final String realm;
-       private final CredVal rbac;
-       
-       
-       public OBasicHttpTaf(final PropAccess access, final CredVal rbac, final String realm, final String token_url, final String introspect_url) throws CadiException {
-               super(access, token_url,introspect_url);
-               this.rbac = rbac;
-               this.realm = realm;
-       }
-       
-       /**
-        * Note: BasicHttp works for either Carbon Based (Humans) or Silicon Based (machine) Lifeforms.  
-        * @see Taf
-        */
-       public TafResp validate(Taf.LifeForm reading, HttpServletRequest req, HttpServletResponse resp) {
-               // See if Request implements BasicCred (aka CadiWrap or other), and if User/Pass has already been set separately
-               final String user;
-               String password=null;
-               byte[] cred=null;
-               if(req instanceof BasicCred) {
-                       BasicCred bc = (BasicCred)req;
-                       user = bc.getUser();
-                       cred = bc.getCred();
-               } else {
-                       String authz = req.getHeader("Authorization");
-                       if(authz != null && authz.startsWith("Basic ")) {
-                               if(!req.isSecure()) {
-                                       access.log(Level.WARN,"WARNING! BasicAuth has been used over an insecure channel");
-                               }
-                               try {
-                                       String temp = Symm.base64noSplit.decode(authz.substring(6));
-                                       int colon = temp.lastIndexOf(':');
-                                       if(colon>0) {
-                                               user = temp.substring(0,colon);
-                                               password = temp.substring(colon+1);
-                                       } else {
-                                               access.printf(Level.AUDIT,"Malformed BasicAuth entry ip=%s, entry=%s",req.getRemoteAddr(),
-                                                               access.encrypt(temp));
-                                               return new BasicHttpTafResp(access,null,"Malformed BasicAuth entry",RESP.FAIL,resp,realm,false);
-                                       }
-                                       if(!rbac.validate(user,Type.PASSWORD,password.getBytes(),req)) {
-                                               return new BasicHttpTafResp(access,null,buildMsg(null,req,"user/pass combo invalid for ",user,"from",req.getRemoteAddr()), 
-                                                               RESP.TRY_AUTHENTICATING,resp,realm,true);
-                                       }
-                               } catch (IOException e) {
-                                       access.log(e, ERROR_GETTING_TOKEN_CLIENT);
-                                       return new BasicHttpTafResp(access,null,ERROR_GETTING_TOKEN_CLIENT,RESP.FAIL,resp,realm,false);
-                               }
-                       } else {
-                               return new BasicHttpTafResp(access,null,"Not a Basic Auth",RESP.TRY_ANOTHER_TAF,resp,realm,false);
-                       }
-               }
+    private final String realm;
+    private final CredVal rbac;
+    
+    
+    public OBasicHttpTaf(final PropAccess access, final CredVal rbac, final String realm, final String token_url, final String introspect_url) throws CadiException {
+        super(access, token_url,introspect_url);
+        this.rbac = rbac;
+        this.realm = realm;
+    }
+    
+    /**
+     * Note: BasicHttp works for either Carbon Based (Humans) or Silicon Based (machine) Lifeforms.  
+     * @see Taf
+     */
+    public TafResp validate(Taf.LifeForm reading, HttpServletRequest req, HttpServletResponse resp) {
+        // See if Request implements BasicCred (aka CadiWrap or other), and if User/Pass has already been set separately
+        final String user;
+        String password=null;
+        byte[] cred=null;
+        if(req instanceof BasicCred) {
+            BasicCred bc = (BasicCred)req;
+            user = bc.getUser();
+            cred = bc.getCred();
+        } else {
+            String authz = req.getHeader("Authorization");
+            if(authz != null && authz.startsWith("Basic ")) {
+                if(!req.isSecure()) {
+                    access.log(Level.WARN,"WARNING! BasicAuth has been used over an insecure channel");
+                }
+                try {
+                    String temp = Symm.base64noSplit.decode(authz.substring(6));
+                    int colon = temp.lastIndexOf(':');
+                    if(colon>0) {
+                        user = temp.substring(0,colon);
+                        password = temp.substring(colon+1);
+                    } else {
+                        access.printf(Level.AUDIT,"Malformed BasicAuth entry ip=%s, entry=%s",req.getRemoteAddr(),
+                                access.encrypt(temp));
+                        return new BasicHttpTafResp(access,null,"Malformed BasicAuth entry",RESP.FAIL,resp,realm,false);
+                    }
+                    if(!rbac.validate(user,Type.PASSWORD,password.getBytes(),req)) {
+                        return new BasicHttpTafResp(access,null,buildMsg(null,req,"user/pass combo invalid for ",user,"from",req.getRemoteAddr()), 
+                                RESP.TRY_AUTHENTICATING,resp,realm,true);
+                    }
+                } catch (IOException e) {
+                    access.log(e, ERROR_GETTING_TOKEN_CLIENT);
+                    return new BasicHttpTafResp(access,null,ERROR_GETTING_TOKEN_CLIENT,RESP.FAIL,resp,realm,false);
+                }
+            } else {
+                return new BasicHttpTafResp(access,null,"Not a Basic Auth",RESP.TRY_ANOTHER_TAF,resp,realm,false);
+            }
+        }
 
-               try {
-                       if(password==null && cred!=null) {
-                               password = new String(cred);
-                               cred = Hash.hashSHA256(cred);
-                       } else if(password!=null && cred==null) {
-                               cred = Hash.hashSHA256(password.getBytes());
-                       }
-                       Pooled<TokenClient> pclient = tokenClientPool.get();
-                       try {
-                               pclient.content.password(user, password);
-                               String scope=FQI.reverseDomain(client_id);
-                               Result<TimedToken> rtt = pclient.content.getToken('B',scope);
-                               if(rtt.isOK()) {
-                                       if(rtt.value.expired()) {
-                                               return new BasicHttpTafResp(access,null,"BasicAuth/OAuth Token: Token Expired",RESP.FAIL,resp,realm,true);
-                                       } else {
-                                               TimedToken tt = rtt.value;
-                                               Result<OAuth2Principal> prin = tkMgr.toPrincipal(tt.getAccessToken(), cred);
-                                               if(prin.isOK()) {
-                                                       return new BasicHttpTafResp(access,prin.value,"BasicAuth/OAuth Token Authentication",RESP.IS_AUTHENTICATED,resp,realm,true);
-                                               } else {
-                                                       return new BasicHttpTafResp(access,null,"BasicAuth/OAuth Token: " + prin.code + ' ' + prin.error,RESP.FAIL,resp,realm,true);
-                                               }
-                                       }
-                               } else {
-                                       return new BasicHttpTafResp(access,null,"BasicAuth/OAuth Token: " + rtt.code + ' ' + rtt.error,RESP.FAIL,resp,realm,true);
-                               }
-                       } finally {
-                               pclient.done();
-                       }                               
-               } catch (APIException | CadiException | LocatorException | NoSuchAlgorithmException e) {
-                       access.log(e, ERROR_GETTING_TOKEN_CLIENT);
-                       return new BasicHttpTafResp(access,null,ERROR_GETTING_TOKEN_CLIENT,RESP.TRY_ANOTHER_TAF,resp,realm,false);
-               }
-       }
-       
-       protected String buildMsg(Principal pr, HttpServletRequest req, Object ... msg) {
-               StringBuilder sb = new StringBuilder();
-               if(pr!=null) {
-                       sb.append("user=");
-                       sb.append(pr.getName());
-                       sb.append(',');
-               }
-               sb.append("ip=");
-               sb.append(req.getRemoteAddr());
-               sb.append(",port=");
-               sb.append(req.getRemotePort());
-               if(msg.length>0) {
-                       sb.append(",msg=\"");
-                       for(Object s : msg) {
-                               sb.append(s.toString());
-                       }
-                       sb.append('"');
-               }
-               return sb.toString();
-       }
+        try {
+            if(password==null && cred!=null) {
+                password = new String(cred);
+                cred = Hash.hashSHA256(cred);
+            } else if(password!=null && cred==null) {
+                cred = Hash.hashSHA256(password.getBytes());
+            }
+            Pooled<TokenClient> pclient = tokenClientPool.get();
+            try {
+                pclient.content.password(user, password);
+                String scope=FQI.reverseDomain(client_id);
+                Result<TimedToken> rtt = pclient.content.getToken('B',scope);
+                if(rtt.isOK()) {
+                    if(rtt.value.expired()) {
+                        return new BasicHttpTafResp(access,null,"BasicAuth/OAuth Token: Token Expired",RESP.FAIL,resp,realm,true);
+                    } else {
+                        TimedToken tt = rtt.value;
+                        Result<OAuth2Principal> prin = tkMgr.toPrincipal(tt.getAccessToken(), cred);
+                        if(prin.isOK()) {
+                            return new BasicHttpTafResp(access,prin.value,"BasicAuth/OAuth Token Authentication",RESP.IS_AUTHENTICATED,resp,realm,true);
+                        } else {
+                            return new BasicHttpTafResp(access,null,"BasicAuth/OAuth Token: " + prin.code + ' ' + prin.error,RESP.FAIL,resp,realm,true);
+                        }
+                    }
+                } else {
+                    return new BasicHttpTafResp(access,null,"BasicAuth/OAuth Token: " + rtt.code + ' ' + rtt.error,RESP.FAIL,resp,realm,true);
+                }
+            } finally {
+                pclient.done();
+            }                
+        } catch (APIException | CadiException | LocatorException | NoSuchAlgorithmException e) {
+            access.log(e, ERROR_GETTING_TOKEN_CLIENT);
+            return new BasicHttpTafResp(access,null,ERROR_GETTING_TOKEN_CLIENT,RESP.TRY_ANOTHER_TAF,resp,realm,false);
+        }
+    }
+    
+    protected String buildMsg(Principal pr, HttpServletRequest req, Object ... msg) {
+        StringBuilder sb = new StringBuilder();
+        if(pr!=null) {
+            sb.append("user=");
+            sb.append(pr.getName());
+            sb.append(',');
+        }
+        sb.append("ip=");
+        sb.append(req.getRemoteAddr());
+        sb.append(",port=");
+        sb.append(req.getRemotePort());
+        if(msg.length>0) {
+            sb.append(",msg=\"");
+            for(Object s : msg) {
+                sb.append(s.toString());
+            }
+            sb.append('"');
+        }
+        return sb.toString();
+    }
 
-       @Override
-       public Resp revalidate(CachedPrincipal prin, Object state) {
-//             if(prin instanceof BasicPrincipal) {
-//                     BasicPrincipal ba = (BasicPrincipal)prin;
-//                     if(DenialOfServiceTaf.isDeniedID(ba.getName())!=null) {
-//                             return Resp.UNVALIDATED;
-//                     }
-//                     return rbac.validate(ba.getName(), Type.PASSWORD, ba.getCred(), state)?Resp.REVALIDATED:Resp.UNVALIDATED;
-//             }
-               return Resp.NOT_MINE;
-       }
-       
-       public String toString() {
-               return "Basic Auth enabled on realm: " + realm;
-       }
+    @Override
+    public Resp revalidate(CachedPrincipal prin, Object state) {
+//        if(prin instanceof BasicPrincipal) {
+//            BasicPrincipal ba = (BasicPrincipal)prin;
+//            if(DenialOfServiceTaf.isDeniedID(ba.getName())!=null) {
+//                return Resp.UNVALIDATED;
+//            }
+//            return rbac.validate(ba.getName(), Type.PASSWORD, ba.getCred(), state)?Resp.REVALIDATED:Resp.UNVALIDATED;
+//        }
+        return Resp.NOT_MINE;
+    }
+    
+    public String toString() {
+        return "Basic Auth enabled on realm: " + realm;
+    }
 }