X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cadi%2Faaf%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faaf%2Fcadi%2Foauth%2FOAuth2Lur.java;h=5f4009d54916ad8de5fae37a29cf962505ea53c9;hb=refs%2Fchanges%2F75%2F65275%2F1;hp=89816a2c2066dd5b22aa07bff52a39d177440f2e;hpb=a20accc73189d8e5454cd26049c0e6fae75da16f;p=aaf%2Fauthz.git diff --git a/cadi/aaf/src/main/java/org/onap/aaf/cadi/oauth/OAuth2Lur.java b/cadi/aaf/src/main/java/org/onap/aaf/cadi/oauth/OAuth2Lur.java index 89816a2c..5f4009d5 100644 --- a/cadi/aaf/src/main/java/org/onap/aaf/cadi/oauth/OAuth2Lur.java +++ b/cadi/aaf/src/main/java/org/onap/aaf/cadi/oauth/OAuth2Lur.java @@ -32,76 +32,79 @@ import org.onap.aaf.cadi.principal.BearerPrincipal; import org.onap.aaf.misc.env.util.Split; public class OAuth2Lur implements Lur { - private TokenMgr tm; + private TokenMgr tm; - public OAuth2Lur(TokenMgr tm) { - this.tm = tm; - } - - @Override - public Permission createPerm(String p) { - String[] params = Split.split('|', p); - if(params.length==3) { - return new AAFPermission(params[0],params[1],params[2]); - } else { - return new LocalPermission(p); - } - } + public OAuth2Lur(TokenMgr tm) { + this.tm = tm; + } + + @Override + public Permission createPerm(String p) { + String[] params = Split.split('|', p); + switch(params.length) { + case 3: + return new AAFPermission(null,params[0],params[1],params[2]); + case 4: + return new AAFPermission(params[0],params[1],params[2],params[3]); + default: + return new LocalPermission(p); + } + } - @Override - public boolean fish(Principal bait, Permission pond) { - AAFPermission apond = (AAFPermission)pond; - OAuth2Principal oap; - if(bait instanceof OAuth2Principal) { - oap = (OAuth2Principal)bait; - } else { - // Here is the spot to put in Principal Conversions - return false; - } + @Override + public boolean fish(Principal bait, Permission ... pond) { + boolean rv = false; + + if(bait instanceof OAuth2Principal) { + OAuth2Principal oap = (OAuth2Principal)bait; + for (Permission p : pond ) { + AAFPermission apond = (AAFPermission)p; + + TokenPerm tp = oap.tokenPerm(); + if(tp==null) { + } else { + for(Permission perm : tp.perms()) { + if(perm.match(apond)) { + return true; + } + } + } + } + } + return rv; + } - TokenPerm tp = oap.tokenPerm(); - if(tp==null) { - } else { - for(Permission p : tp.perms()) { - if(p.match(apond)) { - return true; - } - } - } - return false; - } + @Override + public void fishAll(Principal bait, List permissions) { + OAuth2Principal oap = (OAuth2Principal)bait; + TokenPerm tp = oap.tokenPerm(); + if(tp!=null) { + for(AAFPermission p : tp.perms()) { + permissions.add(p); + } + } + } - @Override - public void fishAll(Principal bait, List permissions) { - OAuth2Principal oap = (OAuth2Principal)bait; - TokenPerm tp = oap.tokenPerm(); - if(tp!=null) { - for(AAFPermission p : tp.perms()) { - permissions.add(p); - } - } - } + @Override + public void destroy() { + } - @Override - public void destroy() { - } + @Override + public boolean handlesExclusively(Permission ... pond) { + return false; + } - @Override - public boolean handlesExclusively(Permission pond) { - return false; - } + @Override + public boolean handles(Principal p) { + if(p!=null && p instanceof BearerPrincipal) { + return ((BearerPrincipal)p).getBearer()!=null; + } + return false; + } - @Override - public boolean handles(Principal p) { - if(p!=null && p instanceof BearerPrincipal) { - return ((BearerPrincipal)p).getBearer()!=null; - } - return false; - } - - @Override - public void clear(Principal p, StringBuilder report) { - tm.clear(p,report); - } + @Override + public void clear(Principal p, StringBuilder report) { + tm.clear(p,report); + } }