Powered by Keycloak
<script src="/client/liveoak.js" type="text/javascript" />
var liveOak = LiveOak({
auth: {
clientId: 'test-app',
clientSecret: 'password',
onload: 'check-sso',
success: authSuccess,
error: authError
}
});
liveOak.auth.init();
Sources at https://github.com/liveoak-io/liveoak-examples/tree/master/auth
public interface SecurityContext {
String getSubject();
boolean isAuthenticated();
Set<String> getRoles();
boolean hasRole(String role);
String getRealm();
long lastVerified();
}
Powered by Policies
delegates decision to one ore more policies
Policies are invoked over REST (async)
A policy can include/exclude specific resources
"policies": [
{
"policyName" : "URIPolicy",
"policyResourceEndpoint": "uriPolicy/authzCheck"
},
{
"policyName" : "ACLPolicy",
"policyResourceEndpoint": "aclPolicy/authzCheck",
"includedResourcePrefixes": [ "/storage" ]
}
]
Accepted if at least one accept and no rejects
Sources at https://github.com/liveoak-io/liveoak-examples/tree/master/todomvc