...
Code Block |
---|
public interface Identity extends Serializable { public enum AuthenticationResult { SUCCESS, FAILED, EXCEPTION } booleanAuthenticationResult isLoggedInlogin(); Uservoid getUserlogout(); AuthenticationResultboolean loginisLoggedIn(); voidUser logoutgetUser(); } |
User
Depending on further use-cases it can be refactored to an interface
The id is an unique identifier for an user. It isn't defined if it is an internal identifier or an identifier known by the user (like the user-name).
If users login e.g. via their e-mail address, it's possible to lookup an internal id in a custom implementation of LoginCredential
or a bean which is in between (and LoginCredential
doesn't get called directly in the 2nd case).
Code Block |
---|
@Typed() public class User implements Serializable { private static final long serialVersionUID = -2234530384311026364L; private final String id; public User(String id) { this.id = id; } public String getId() { return id; } } |
...
- */authentication
- */authentication/events
- */authorization
- */authorization/annotation
- */credential or */authorizationauthentication/credential
Part 1
Feature | Comments | Objections | Discussion finished |
---|---|---|---|
Login via Username/Password |
|
|
|
Password-Hash-Service |
|
|
|
Logout |
|
|
|
Authentication API and SPI | Credentials vs Credential (one of it needs a better name) |
|
|
Duration of a valid authentication | ExpirationEvaluator SPI |
|
|
Basic User/Identity API |
|
|
|
...