public void builder() { // tag::builder[] Realm realm = Realm.builder() // <1> .withAuthenticator(AUTHENTICATOR1) // <2> .withAuthenticator(AUTHENTICATOR2) // <3> .withAuthorizer(AUTHORIZER1) // <4> .withAuthorizer(AUTHORIZER2) // <5> .build(); // end::builder[] }
@Override public Realm getContext(Class<?> type) { return Realm.builder() // .withResolver(AuthenticationToken.httpBasicResolver()) // <1> .withAuthenticator(Account.authenticator(getAccountProvider())) // <2> .withDefaultAuthorizer() // <3> .build(); }
public void authorizer4() { // tag::authorizer4[] Authorizer<Permission> defaultAuthorizer = Authorizer.create(); // <1> Realm realm = Realm.builder().withDefaultAuthorizer() // <2> .build(); // end::authorizer4[] }
@SuppressWarnings("unused") public void authContext() { // tag::authctx[] AccountProvider provider = id -> Optional.of(Account.builder(id).enabled(true) .credentials(Credentials.builder().secret("pwd").base64Encoded().build()).withPermission("role1") .build()); // <1> Realm realm = Realm.builder().withAuthenticator(Account.authenticator(provider)).withDefaultAuthorizer() .build(); // <2> AuthContext context = AuthContext.create(realm); // <3> boolean notAlreadyAuthenticated = context.isAuthenticated(); // <4> context.authenticate(AuthenticationToken.accountCredentials("test", "pwd")); // <5> Authentication authc = context.requireAuthentication(); // <6> context.unauthenticate(); // <7> // end::authctx[] }
public void auth() { // tag::auth[] AccountProvider provider = id -> Optional.of(Account.builder(id).enabled(true) .credentials(Credentials.builder().secret("pwd").base64Encoded().build()).withPermission("role1") .build()); // <1> Realm realm = Realm.builder() // .withAuthenticator(Account.authenticator(provider)) // <2> .withDefaultAuthorizer().build(); try { Authentication authc = realm.authenticate(AuthenticationToken.accountCredentials("test", "pwd")); // <3> } catch (AuthenticationException e) { // handle authentication failures } // end::auth[] }
public void builder() { // tag::builder[] Account.builder("accountId") // <1> .enabled(true) // <2> .locked(false) // <3> .expired(false) // <4> .credentials(Credentials.builder().secret("pwd").hashAlgorithm(Credentials.Encoder.HASH_SHA_256) .base64Encoded().build()) // <5> .root(false) // <6> .withPermission(new MyPermission()) // <7> .withPermission("role1") // <8> .withDetail("name", "TheName").withDetail("surname", "TheSurname") // <9> .build(); // end::builder[] }
public void permissions() { // tag::permissions[] final Permission p1 = Permission.create("role1"); // <1> final Permission p2 = Permission.create("role2"); // <2> Authentication authc = Authentication.builder("test").withPermission(p1).withPermission(p2).build(); // <3> // Realm with default authorizer Realm realm = Realm.builder().withDefaultAuthorizer().build(); // <4> // permission checking boolean permitted = realm.isPermitted(authc, p1); // <5> permitted = realm.isPermitted(authc, "role1"); // <6> permitted = realm.isPermittedAny(authc, p1, p2); // <7> permitted = realm.isPermittedAny(authc, "role1", "role2"); // <8> boolean notPermitted = realm.isPermitted(authc, "other_role"); // <9> // end::permissions[] }
public void credentials() { // tag::credentials[] Credentials credentials = Credentials.builder().secret("test").build(); // <1> credentials = Credentials.builder().secret("test").hashAlgorithm(Credentials.Encoder.HASH_MD5).build(); // <2> credentials = Credentials.builder().secret("test").hashAlgorithm(Credentials.Encoder.HASH_MD5).hashIterations(7) .salt(new byte[] { 1, 2, 3 }).build(); // <3> credentials = Credentials.builder().secret("test").hashAlgorithm(Credentials.Encoder.HASH_MD5).base64Encoded() .build(); // <4> credentials = Credentials.builder().secret("test").expireDate(new Date()).build(); // <5> // end::credentials[] }
public void builder2() { // tag::builder2[] Realm realm = Realm.builder().withAuthenticator(AUTHENTICATOR1).build(); // <1> realm.addAuthenticator(AUTHENTICATOR2); // <2> // end::builder2[] }
public void builder3() { // tag::builder3[] Realm realm = Realm.builder().withAuthorizer(AUTHORIZER1).build(); // <1> realm.addAuthorizer(AUTHORIZER2); // <2> // end::builder3[] }
public void authentication() { // tag::authentication[] Authentication authc = Authentication.builder("userId") // <1> .withPermission("VIEW") // <2> .withPermission(new MyPermission()) // <3> .withParameter("name", "John") // <4> .withParameter("surname", "Doe") // <5> .scheme("myscheme") // <6> .build(); // end::authentication[] }
public void encoder() { // tag::encoder[] String encoded = Credentials.encoder().secret("test").buildAndEncodeBase64(); // <1> byte[] bytes = Credentials.encoder().secret("test").hashSHA256().build(); // <2> encoded = Credentials.encoder().secret("test").hashSHA256().salt(new byte[] { 1, 2, 3 }).buildAndEncodeBase64(); // <3> encoded = Credentials.encoder().secret("test").hashSHA512().charset("UTF-8").buildAndEncodeBase64(); // <4> // end::encoder[] }
public void defaultPermission() { // tag::dftpermission[] Permission permission = Permission.create("myrole"); // <1> Optional<String> roleName = permission.getPermission(); // <2> // end::dftpermission[] }
@Override public String getName() { return authentication.getName(); }
public void messageResolvers() { // tag::basic[] AuthenticationTokenResolver<HttpRequest> basicResolver = AuthenticationToken.httpBasicResolver(); // end::basic[] // tag::bearer[] AuthenticationTokenResolver<HttpRequest> bearerResolver = AuthenticationToken.httpBearerResolver(); // end::bearer[] }
public void token1() { // tag::accounttoken[] AuthenticationToken token = AuthenticationToken.accountCredentials("username", "password"); // <1> // end::accounttoken[] }
public void token2() { // tag::bearertoken[] AuthenticationToken token = AuthenticationToken.bearer("Agr564FYda78dsff8Trf7"); // <1> // end::bearertoken[] }
public void token() { // tag::token[] AuthenticationToken token = Account.accountCredentialsToken("accountId", "secret"); // <1> token = Account.accountCredentialsToken("accountId", new byte[] { 1, 2, 3 }); // <2> // end::token[] }
@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((permission == null) ? 0 : permission.hashCode()); return result; }