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