New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar...

60
@ivar_grimstad CON3544 New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

Transcript of New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar...

Page 1: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

New Security APIs for Java EEIvar Grimstad

Principal Consultant, Cybercom Sweden

JSR 375

JCP Award Winner 2017

Page 2: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstad

https://github.com/ivargrimstad

https://www.linkedin.com/in/ivargrimstad

http://lanyrd.com/profile/ivargrimstad/

Page 3: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

History, Future, Status

Java EE Security API 1.0

Demo

Page 4: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

JSR 375

Page 5: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

The Expert Group

Page 6: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

Will Hopkins

Page 7: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

Adam Bien David Blevins (Tomitribe)

Rudy De Bussher Ivar Grimstad

Les Hazlewood (Stormpath, Inc.) Will Hopkins (Oracle)

Werner Keil Matt Konda (Jemurai)

Alexander Kosowski (Oracle) Darran Lofthouse (Red Hat)

Jean-Louis Monteiro (Tomitribe Ajay Reddy (IBM)

Pedro Igor Silva (Red Hat Arjan Tijms

Page 8: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

Contributors

Page 9: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

Guillermo Gonzáles de Agüero John Hogan

Elder Morales Faith Mutluay

Reza Rahman Ashley Richardson

Page 10: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

Special Credits

Page 11: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

Arjan Tijms

Page 12: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

Common Principles

Page 13: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

Simplify security programming modelEnable developers to manage securityLayered APIs delegate to othersUse CDI where appropriate

Page 14: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

Terminology

Page 15: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

Authentication Mechanism

Page 16: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

Caller Caller Principal

Page 17: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

Identity Store

Page 18: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

General

Page 19: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

Group-To-Role-Mapping

Page 20: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

Caller Principal Types

Page 21: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

Expression Language Support

Page 22: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

Authentication Mechanism

Page 23: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

HttpAuthenticationMechanism

Page 24: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

packagejavax.security.enterprise.authentication.mechanism.http;

AuthenticationStatusvalidateRequest(HttpServletRequestrequest,HttpServletResponseresponse,HttpMessageContexthttpMessageContext)throwsAuthenticationException;

AuthenticationStatussecureResponse(HttpServletRequestrequest,HttpServletResponseresponse,HttpMessageContexthttpMessageContext)throwsAuthenticationException;

voidcleanSubject(HttpServletRequestrequest,HttpServletResponseresponse,HttpMessageContexthttpMessageContext);}

Page 25: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

packagejavax.security.enterprise.authentication.mechanism.http;

AuthenticationStatusvalidateRequest(HttpServletRequestrequest,HttpServletResponseresponse,HttpMessageContexthttpMessageContext)throwsAuthenticationException;

AuthenticationStatussecureResponse(HttpServletRequestrequest,HttpServletResponseresponse,HttpMessageContexthttpMessageContext)throwsAuthenticationException;

voidcleanSubject(HttpServletRequestrequest,HttpServletResponseresponse,HttpMessageContexthttpMessageContext);}

Page 26: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

packagejavax.security.enterprise.authentication.mechanism.http;

AuthenticationStatusvalidateRequest(HttpServletRequestrequest,HttpServletResponseresponse,HttpMessageContexthttpMessageContext)throwsAuthenticationException;

AuthenticationStatussecureResponse(HttpServletRequestrequest,HttpServletResponseresponse,HttpMessageContexthttpMessageContext)throwsAuthenticationException;

voidcleanSubject(HttpServletRequestrequest,HttpServletResponseresponse,HttpMessageContexthttpMessageContext);}

Page 27: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

packagejavax.security.enterprise.authentication.mechanism.http;

AuthenticationStatusvalidateRequest(HttpServletRequestrequest,HttpServletResponseresponse,HttpMessageContexthttpMessageContext)throwsAuthenticationException;

AuthenticationStatussecureResponse(HttpServletRequestrequest,HttpServletResponseresponse,HttpMessageContexthttpMessageContext)throwsAuthenticationException;

voidcleanSubject(HttpServletRequestrequest,HttpServletResponseresponse,HttpMessageContexthttpMessageContext);}

Page 28: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

packagejavax.security.enterprise.authentication.mechanism.http;

AuthenticationStatusvalidateRequest(HttpServletRequestrequest,HttpServletResponseresponse,HttpMessageContexthttpMessageContext)throwsAuthenticationException;

AuthenticationStatussecureResponse(HttpServletRequestrequest,HttpServletResponseresponse,HttpMessageContexthttpMessageContext)throwsAuthenticationException;

voidcleanSubject(HttpServletRequestrequest,HttpServletResponseresponse,HttpMessageContexthttpMessageContext);}

Page 29: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

Annotations and Built-In HttpAuthenticationMechanisms

Page 30: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

@BasicAuthenticationMechanismDefinition

@FormAuthenticationMechanismDefinition

@CustomFormAuthenticationMechanismDefinition

Page 31: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

@LoginToContinue

Page 32: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

@RememberMe

Page 33: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

@AutoApplySession

Page 34: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

Identity Store

Page 35: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

packagejavax.enterprise.security.identitystore;

publicinterfaceIdentityStore{

enumValidationType{VALIDATE,PROVIDE_GROUPS}

CredentialValidationResultvalidate(Credentialcredential);

SetgetCallerGroups(CredentialValidationResultvalidationResult);

intpriority();

SetvalidationTypes();}

Page 36: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

packagejavax.enterprise.security.identitystore;

publicinterfaceIdentityStore{

enumValidationType{VALIDATE,PROVIDE_GROUPS}

CredentialValidationResultvalidate(Credentialcredential);

SetgetCallerGroups(CredentialValidationResultvalidationResult);

intpriority();

SetvalidationTypes();}

Page 37: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

packagejavax.enterprise.security.identitystore;

publicinterfaceIdentityStore{

enumValidationType{VALIDATE,PROVIDE_GROUPS}

CredentialValidationResultvalidate(Credentialcredential);

SetgetCallerGroups(CredentialValidationResultvalidationResult);

intpriority();

SetvalidationTypes();}

Page 38: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

packagejavax.enterprise.security.identitystore;

publicinterfaceIdentityStore{

enumValidationType{VALIDATE,PROVIDE_GROUPS}

CredentialValidationResultvalidate(Credentialcredential);

SetgetCallerGroups(CredentialValidationResultvalidationResult);

intpriority();

SetvalidationTypes();}

Page 39: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

packagejavax.enterprise.security.identitystore;

publicinterfaceIdentityStore{

enumValidationType{VALIDATE,PROVIDE_GROUPS}

CredentialValidationResultvalidate(Credentialcredential);

SetgetCallerGroups(CredentialValidationResultvalidationResult);

intpriority();

SetvalidationTypes();}

Page 40: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

packagejavax.enterprise.security.identitystore;

publicinterfaceIdentityStore{

enumValidationType{VALIDATE,PROVIDE_GROUPS}

CredentialValidationResultvalidate(Credentialcredential);

SetgetCallerGroups(CredentialValidationResultvalidationResult);

intpriority();

SetvalidationTypes();}

Page 41: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

Annotations and Built-In IdentityStores

Page 42: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

@LdapIdentityStoreDefinition @DatabaseIdentityStoreDefinition

Page 43: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

Security Context

Page 44: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

packagejavax.security.enterprise;

publicinterfaceSecurityContext{PrincipalgetCallerPrincipal();SetgetPrincipalsByType(ClasspType);booleanisCallerInRole(Stringrole);

booleanhasAccessToWebResource(Stringresource,String...methods);

AuthenticationStatusauthenticate(HttpServletRequestrequestHttpServletResponseresponse,AuthenticationParametersparameters);}

Page 45: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

packagejavax.security.enterprise;

publicinterfaceSecurityContext{PrincipalgetCallerPrincipal();SetgetPrincipalsByType(ClasspType);booleanisCallerInRole(Stringrole);

booleanhasAccessToWebResource(Stringresource,String...methods);

AuthenticationStatusauthenticate(HttpServletRequestrequestHttpServletResponseresponse,AuthenticationParametersparameters);}

Page 46: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

packagejavax.security.enterprise;

publicinterfaceSecurityContext{PrincipalgetCallerPrincipal();SetgetPrincipalsByType(ClasspType);booleanisCallerInRole(Stringrole);

booleanhasAccessToWebResource(Stringresource,String...methods);

AuthenticationStatusauthenticate(HttpServletRequestrequestHttpServletResponseresponse,AuthenticationParametersparameters);}

Page 47: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

packagejavax.security.enterprise;

publicinterfaceSecurityContext{PrincipalgetCallerPrincipal();SetgetPrincipalsByType(ClasspType);booleanisCallerInRole(Stringrole);

booleanhasAccessToWebResource(Stringresource,String...methods);

AuthenticationStatusauthenticate(HttpServletRequestrequestHttpServletResponseresponse,AuthenticationParametersparameters);}

Page 48: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

packagejavax.security.enterprise;

publicinterfaceSecurityContext{PrincipalgetCallerPrincipal();SetgetPrincipalsByType(ClasspType);booleanisCallerInRole(Stringrole);

booleanhasAccessToWebResource(Stringresource,String...methods);

AuthenticationStatusauthenticate(HttpServletRequestrequestHttpServletResponseresponse,AuthenticationParametersparameters);}

Page 49: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

packagejavax.security.enterprise;

publicinterfaceSecurityContext{PrincipalgetCallerPrincipal();SetgetPrincipalsByType(ClasspType);booleanisCallerInRole(Stringrole);

booleanhasAccessToWebResource(Stringresource,String...methods);

AuthenticationStatusauthenticate(HttpServletRequestrequestHttpServletResponseresponse,AuthenticationParametersparameters);}

Page 50: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

@WebServlet(“/protectedServlet")@ServletSecurity(@HttpConstraint(rolesAllowed="foo"))publicclassProtectedServletextendsHttpServlet{...}

securityContext.hasAccessToWebResource("/protectedServlet",GET);

Page 51: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

packagejavax.security.enterprise;

publicinterfaceSecurityContext{PrincipalgetCallerPrincipal();SetgetPrincipalsByType(ClasspType);booleanisCallerInRole(Stringrole);

booleanhasAccessToWebResource(Stringresource,String...methods);

AuthenticationStatusauthenticate(HttpServletRequestrequestHttpServletResponseresponse,AuthenticationParametersparameters);}

Page 52: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

Demo !

Page 53: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

Summary

Page 54: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

<dependency><groupId>javax</groupId><artifactId>javaee-web-api</artifactId><version>8.0</version><scope>provided</scope></dependency>

Page 55: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

What’s NEXT?

Page 56: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

Candidates for Focus in Java EE 9Security in Packaging, Configuration, BuildMicroservices Security

Page 57: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

Page 58: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

JSR Page https://jcp.org/en/jsr/detail?id=375

Java EE https://github.com/javaee/security-api https://github.com/javaee/security-spec https://github.com/javaee/security-soteria

Samples https://github.com/javaee/security-examples

Page 59: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

Demo https://github.com/ivargrimstad/security-samples

Page 60: New Security APIs for Java EE - RainFocusCON3544 @ivar_grimstad New Security APIs for Java EE Ivar Grimstad Principal Consultant, Cybercom Sweden JSR 375 JCP Award Winner 2017

@ivar_grimstadCON3544

cybercom.com