1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.core.persistence.api.entity.user;
20
21 import java.time.OffsetDateTime;
22 import java.util.List;
23 import java.util.Optional;
24 import org.apache.syncope.core.persistence.api.entity.GroupableRelatable;
25 import org.apache.syncope.core.persistence.api.entity.Role;
26 import org.apache.syncope.core.persistence.api.entity.anyobject.AnyObject;
27
28 public interface User extends Account, GroupableRelatable<User, UMembership, UPlainAttr, AnyObject, URelationship> {
29
30 String getToken();
31
32 OffsetDateTime getTokenExpireTime();
33
34 void generateToken(int tokenLength, int tokenExpireTime);
35
36 void removeToken();
37
38 boolean checkToken(String token);
39
40 boolean hasTokenExpired();
41
42 OffsetDateTime getChangePwdDate();
43
44 void setChangePwdDate(OffsetDateTime changePwdDate);
45
46 void addToPasswordHistory(String password);
47
48 void removeOldestEntriesFromPasswordHistory(int n);
49
50 List<String> getPasswordHistory();
51
52 SecurityQuestion getSecurityQuestion();
53
54 void setSecurityQuestion(SecurityQuestion securityQuestion);
55
56 String getSecurityAnswer();
57
58 void setSecurityAnswer(String securityAnswer);
59
60 Integer getFailedLogins();
61
62 void setFailedLogins(Integer failedLogins);
63
64 OffsetDateTime getLastLoginDate();
65
66 void setLastLoginDate(OffsetDateTime lastLoginDate);
67
68 boolean isMustChangePassword();
69
70 void setMustChangePassword(boolean mustChangePassword);
71
72 boolean add(Role role);
73
74 List<? extends Role> getRoles();
75
76 boolean add(LinkedAccount account);
77
78 Optional<? extends LinkedAccount> getLinkedAccount(String resource, String connObjectKeyValue);
79
80 List<? extends LinkedAccount> getLinkedAccounts(String resource);
81
82 List<? extends LinkedAccount> getLinkedAccounts();
83 }