keycloak
公開メンバ関数 | 静的公開メンバ関数 | 公開変数類 | 静的公開変数類 | 限定公開メンバ関数 | 限定公開変数類 | 静的非公開メンバ関数 | 全メンバ一覧
org.keycloak.authentication.actiontoken.DefaultActionToken クラス
org.keycloak.authentication.actiontoken.DefaultActionToken の継承関係図
Inheritance graph
org.keycloak.authentication.actiontoken.DefaultActionToken 連携図
Collaboration graph

公開メンバ関数

 DefaultActionToken ()
 
String getCompoundAuthenticationSessionId ()
 
final void setCompoundAuthenticationSessionId (String authenticationSessionId)
 
Map< String, String > getNotes ()
 
String getNote (String name)
 
final String setNote (String name, String value)
 
final String removeNote (String name)
 
String serialize (KeycloakSession session, RealmModel realm, UriInfo uri)
 
String getUserId ()
 
String getActionId ()
 
UUID getActionVerificationNonce ()
 
JsonWebToken id (String id)
 
JsonWebToken expiration (int expiration)
 
JsonWebToken notBefore (int notBefore)
 
JsonWebToken issuedAt (int issuedAt)
 
JsonWebToken issuer (String issuer)
 
JsonWebToken audience (String... audience)
 
JsonWebToken subject (String subject)
 
JsonWebToken type (String type)
 
JsonWebToken issuedFor (String issuedFor)
 
String getId ()
 
int getExpiration ()
 
int getExpiration ()
 
boolean isExpired ()
 
int getNotBefore ()
 
boolean isNotBefore (int allowedTimeSkew)
 
boolean isActive ()
 
boolean isActive (int allowedTimeSkew)
 
int getIssuedAt ()
 
JsonWebToken issuedNow ()
 
String getIssuer ()
 
String [] getAudience ()
 
boolean hasAudience (String audience)
 
JsonWebToken addAudience (String audience)
 
String getSubject ()
 
void setSubject (String subject)
 
String getType ()
 
String getIssuedFor ()
 
Map< String, Object > getOtherClaims ()
 
void setOtherClaims (String name, Object value)
 
TokenCategory getCategory ()
 
default String serializeKey ()
 

静的公開メンバ関数

static DefaultActionTokenKey from (String serializedKey)
 

公開変数類

String issuedFor
 

静的公開変数類

static final String JSON_FIELD_AUTHENTICATION_SESSION_ID = "asid"
 
static final Predicate< DefaultActionTokenKeyACTION_TOKEN_BASIC_CHECKS
 
static final String ACTION_TOKEN_USER_ID = "ACTION_TOKEN_USER"
 
static final String JSON_FIELD_ACTION_VERIFICATION_NONCE = "nonce"
 

限定公開メンバ関数

 DefaultActionToken (String userId, String actionId, int absoluteExpirationInSecs, UUID actionVerificationNonce)
 
 DefaultActionToken (String userId, String actionId, int absoluteExpirationInSecs, UUID actionVerificationNonce, String compoundAuthenticationSessionId)
 

限定公開変数類

String id
 
int expiration
 
int notBefore
 
int issuedAt
 
String issuer
 
String [] audience
 
String subject
 
String type
 
Map< String, Object > otherClaims = new HashMap<>()
 

静的非公開メンバ関数

static String getIssuer (RealmModel realm, UriInfo uri)
 

詳解

Part of action token that is intended to be used e.g. in link sent in password-reset email. The token encapsulates user, expected action and its time of expiry.

著者
hmlnarik

構築子と解体子

◆ DefaultActionToken() [1/3]

org.keycloak.authentication.actiontoken.DefaultActionToken.DefaultActionToken ( )
inline

Single-use random value used for verification whether the relevant action is allowed.

52  {
53  super(null, null, 0, null);
54  }

◆ DefaultActionToken() [2/3]

org.keycloak.authentication.actiontoken.DefaultActionToken.DefaultActionToken ( String  userId,
String  actionId,
int  absoluteExpirationInSecs,
UUID  actionVerificationNonce 
)
inlineprotected
引数
userIdUser ID
actionIdAction ID
absoluteExpirationInSecsAbsolute expiration time in seconds in timezone of Keycloak.
actionVerificationNonce
63  {
64  super(userId, actionId, absoluteExpirationInSecs, actionVerificationNonce);
65  }
UUID actionVerificationNonce
Definition: DefaultActionTokenKey.java:43

◆ DefaultActionToken() [3/3]

org.keycloak.authentication.actiontoken.DefaultActionToken.DefaultActionToken ( String  userId,
String  actionId,
int  absoluteExpirationInSecs,
UUID  actionVerificationNonce,
String  compoundAuthenticationSessionId 
)
inlineprotected
引数
userIdUser ID
actionIdAction ID
absoluteExpirationInSecsAbsolute expiration time in seconds in timezone of Keycloak.
actionVerificationNonce
74  {
75  super(userId, actionId, absoluteExpirationInSecs, actionVerificationNonce);
76  setCompoundAuthenticationSessionId(compoundAuthenticationSessionId);
77  }
UUID actionVerificationNonce
Definition: DefaultActionTokenKey.java:43
final void setCompoundAuthenticationSessionId(String authenticationSessionId)
Definition: DefaultActionToken.java:85

関数詳解

◆ addAudience()

JsonWebToken org.keycloak.representations.JsonWebToken.addAudience ( String  audience)
inlineinherited
165  {
166  if (this.audience == null) {
167  this.audience = new String[] { audience };
168  } else {
169  // Check if audience is already there
170  for (String aud : this.audience) {
171  if (audience.equals(aud)) {
172  return this;
173  }
174  }
175 
176  String[] newAudience = Arrays.copyOf(this.audience, this.audience.length + 1);
177  newAudience[this.audience.length] = audience;
178  this.audience = newAudience;
179  }
180  return this;
181  }
String [] audience
Definition: JsonWebToken.java:55

◆ audience()

JsonWebToken org.keycloak.representations.JsonWebToken.audience ( String...  audience)
inlineinherited
160  {
161  this.audience = audience;
162  return this;
163  }
String [] audience
Definition: JsonWebToken.java:55

◆ expiration()

JsonWebToken org.keycloak.representations.JsonWebToken.expiration ( int  expiration)
inlineinherited
78  {
79  this.expiration = expiration;
80  return this;
81  }
int expiration
Definition: JsonWebToken.java:45

◆ from()

static DefaultActionTokenKey org.keycloak.authentication.actiontoken.DefaultActionTokenKey.from ( String  serializedKey)
inlinestaticinherited
74  {
75  if (serializedKey == null) {
76  return null;
77  }
78  String[] parsed = DOT.split(serializedKey, 4);
79  if (parsed.length != 4) {
80  return null;
81  }
82 
83  String userId;
84  try {
85  userId = new String(Base64.decode(parsed[0]), StandardCharsets.UTF_8);
86  } catch (IOException ex) {
87  userId = parsed[0];
88  }
89  return new DefaultActionTokenKey(userId, parsed[3], Integer.parseInt(parsed[1]), UUID.fromString(parsed[2]));
90  }
DefaultActionTokenKey()
Definition: DefaultActionTokenKey.java:45
static final Pattern DOT
Definition: DefaultActionTokenKey.java:72

◆ getActionId()

String org.keycloak.authentication.actiontoken.DefaultActionTokenKey.getActionId ( )
inlineinherited

org.keycloak.models.ActionTokenKeyModelを実装しています。

63  {
64  return getType();
65  }
String getType()
Definition: JsonWebToken.java:196

◆ getActionVerificationNonce()

UUID org.keycloak.authentication.actiontoken.DefaultActionTokenKey.getActionVerificationNonce ( )
inlineinherited

org.keycloak.models.ActionTokenKeyModelを実装しています。

68  {
70  }
UUID actionVerificationNonce
Definition: DefaultActionTokenKey.java:43

◆ getAudience()

String [] org.keycloak.representations.JsonWebToken.getAudience ( )
inlineinherited
146  {
147  return audience;
148  }
String [] audience
Definition: JsonWebToken.java:55

◆ getCategory()

TokenCategory org.keycloak.representations.JsonWebToken.getCategory ( )
inlineinherited

org.keycloak.Tokenを実装しています。

235  {
236  return TokenCategory.INTERNAL;
237  }

◆ getCompoundAuthenticationSessionId()

String org.keycloak.authentication.actiontoken.DefaultActionToken.getCompoundAuthenticationSessionId ( )
inline
80  {
82  }
static final String JSON_FIELD_AUTHENTICATION_SESSION_ID
Definition: DefaultActionToken.java:39
Map< String, Object > getOtherClaims()
Definition: JsonWebToken.java:225

◆ getExpiration() [1/2]

int org.keycloak.models.ActionTokenKeyModel.getExpiration ( )
inherited

Returns absolute number of seconds since the epoch in UTC timezone when the token expires.

◆ getExpiration() [2/2]

int org.keycloak.representations.JsonWebToken.getExpiration ( )
inlineinherited
74  {
75  return expiration;
76  }
int expiration
Definition: JsonWebToken.java:45

◆ getId()

String org.keycloak.representations.JsonWebToken.getId ( )
inlineinherited
64  {
65  return id;
66  }
String id
Definition: JsonWebToken.java:43

◆ getIssuedAt()

int org.keycloak.representations.JsonWebToken.getIssuedAt ( )
inlineinherited
117  {
118  return issuedAt;
119  }
int issuedAt
Definition: JsonWebToken.java:49

◆ getIssuedFor()

String org.keycloak.representations.JsonWebToken.getIssuedFor ( )
inlineinherited

OAuth client the token was issued for.

戻り値
210  {
211  return issuedFor;
212  }
String issuedFor
Definition: JsonWebToken.java:61

◆ getIssuer() [1/2]

String org.keycloak.representations.JsonWebToken.getIssuer ( )
inlineinherited
136  {
137  return issuer;
138  }
String issuer
Definition: JsonWebToken.java:51

◆ getIssuer() [2/2]

static String org.keycloak.authentication.actiontoken.DefaultActionToken.getIssuer ( RealmModel  realm,
UriInfo  uri 
)
inlinestaticprivate
151  {
152  return Urls.realmIssuer(uri.getBaseUri(), realm.getName());
153  }

◆ getNotBefore()

int org.keycloak.representations.JsonWebToken.getNotBefore ( )
inlineinherited
88  {
89  return notBefore;
90  }
int notBefore
Definition: JsonWebToken.java:47

◆ getNote()

String org.keycloak.authentication.actiontoken.DefaultActionToken.getNote ( String  name)
inline

org.keycloak.models.ActionTokenValueModelを実装しています。

100  {
101  Object res = getOtherClaims().get(name);
102  return res instanceof String ? (String) res : null;
103  }
Map< String, Object > getOtherClaims()
Definition: JsonWebToken.java:225

◆ getNotes()

Map<String, String> org.keycloak.authentication.actiontoken.DefaultActionToken.getNotes ( )
inline

org.keycloak.models.ActionTokenValueModelを実装しています。

91  {
92  Map<String, String> res = new HashMap<>();
93  if (getCompoundAuthenticationSessionId() != null) {
95  }
96  return res;
97  }
static final String JSON_FIELD_AUTHENTICATION_SESSION_ID
Definition: DefaultActionToken.java:39
String getCompoundAuthenticationSessionId()
Definition: DefaultActionToken.java:80

◆ getOtherClaims()

Map<String, Object> org.keycloak.representations.JsonWebToken.getOtherClaims ( )
inlineinherited

This is a map of any other claims and data that might be in the IDToken. Could be custom claims set up by the auth server

戻り値
225  {
226  return otherClaims;
227  }
Map< String, Object > otherClaims
Definition: JsonWebToken.java:62

◆ getSubject()

String org.keycloak.representations.JsonWebToken.getSubject ( )
inlineinherited
183  {
184  return subject;
185  }
String subject
Definition: JsonWebToken.java:57

◆ getType()

String org.keycloak.representations.JsonWebToken.getType ( )
inlineinherited
196  {
197  return type;
198  }
String type
Definition: JsonWebToken.java:59

◆ getUserId()

String org.keycloak.authentication.actiontoken.DefaultActionTokenKey.getUserId ( )
inlineinherited

org.keycloak.models.ActionTokenKeyModelを実装しています。

57  {
58  return getSubject();
59  }
String getSubject()
Definition: JsonWebToken.java:183

◆ hasAudience()

boolean org.keycloak.representations.JsonWebToken.hasAudience ( String  audience)
inlineinherited
150  {
151  if (this.audience == null) return false;
152  for (String a : this.audience) {
153  if (a.equals(audience)) {
154  return true;
155  }
156  }
157  return false;
158  }
String [] audience
Definition: JsonWebToken.java:55

◆ id()

JsonWebToken org.keycloak.representations.JsonWebToken.id ( String  id)
inlineinherited
68  {
69  this.id = id;
70  return this;
71  }
String id
Definition: JsonWebToken.java:43

◆ isActive() [1/2]

boolean org.keycloak.representations.JsonWebToken.isActive ( )
inlineinherited

Tests that the token is not expired and is not-before.

戻り値
108  {
109  return isActive(0);
110  }
boolean isActive()
Definition: JsonWebToken.java:108

◆ isActive() [2/2]

boolean org.keycloak.representations.JsonWebToken.isActive ( int  allowedTimeSkew)
inlineinherited
113  {
114  return (!isExpired() || expiration == 0) && (isNotBefore(allowedTimeSkew) || notBefore == 0);
115  }
int notBefore
Definition: JsonWebToken.java:47
int expiration
Definition: JsonWebToken.java:45
boolean isNotBefore(int allowedTimeSkew)
Definition: JsonWebToken.java:98
boolean isExpired()
Definition: JsonWebToken.java:84

◆ isExpired()

boolean org.keycloak.representations.JsonWebToken.isExpired ( )
inlineinherited
84  {
85  return Time.currentTime() > expiration;
86  }
int expiration
Definition: JsonWebToken.java:45

◆ isNotBefore()

boolean org.keycloak.representations.JsonWebToken.isNotBefore ( int  allowedTimeSkew)
inlineinherited
98  {
99  return Time.currentTime() + allowedTimeSkew >= notBefore;
100  }
int notBefore
Definition: JsonWebToken.java:47

◆ issuedAt()

JsonWebToken org.keycloak.representations.JsonWebToken.issuedAt ( int  issuedAt)
inlineinherited
130  {
131  this.issuedAt = issuedAt;
132  return this;
133  }
int issuedAt
Definition: JsonWebToken.java:49

◆ issuedFor()

JsonWebToken org.keycloak.representations.JsonWebToken.issuedFor ( String  issuedFor)
inlineinherited
214  {
215  this.issuedFor = issuedFor;
216  return this;
217  }
String issuedFor
Definition: JsonWebToken.java:61

◆ issuedNow()

JsonWebToken org.keycloak.representations.JsonWebToken.issuedNow ( )
inlineinherited

Set issuedAt to the current time

125  {
126  issuedAt = Time.currentTime();
127  return this;
128  }
int issuedAt
Definition: JsonWebToken.java:49

◆ issuer()

JsonWebToken org.keycloak.representations.JsonWebToken.issuer ( String  issuer)
inlineinherited
140  {
141  this.issuer = issuer;
142  return this;
143  }
String issuer
Definition: JsonWebToken.java:51

◆ notBefore()

JsonWebToken org.keycloak.representations.JsonWebToken.notBefore ( int  notBefore)
inlineinherited
92  {
93  this.notBefore = notBefore;
94  return this;
95  }
int notBefore
Definition: JsonWebToken.java:47

◆ removeNote()

final String org.keycloak.authentication.actiontoken.DefaultActionToken.removeNote ( String  name)
inline

Removes given note, and returns original value (or

null

when no value was present)

戻り値
see description
120  {
121  Object res = getOtherClaims().remove(name);
122  return res instanceof String ? (String) res : null;
123  }
Map< String, Object > getOtherClaims()
Definition: JsonWebToken.java:225

◆ serialize()

String org.keycloak.authentication.actiontoken.DefaultActionToken.serialize ( KeycloakSession  session,
RealmModel  realm,
UriInfo  uri 
)
inline

Updates the following fields and serializes this token into a signed JWT. The list of updated fields follows:

  • id
    : random nonce
  • : Current time
  • : URI of the given realm
  • : URI of the given realm (same as issuer)
引数
session
realm
uri
戻り値
139  {
140  String issuerUri = getIssuer(realm, uri);
141 
142  this
143  .issuedAt(Time.currentTime())
144  .id(getActionVerificationNonce().toString())
145  .issuer(issuerUri)
146  .audience(issuerUri);
147 
148  return session.tokens().encode(this);
149  }
String encode(Token token)
UUID getActionVerificationNonce()
Definition: DefaultActionTokenKey.java:68
String getIssuer()
Definition: JsonWebToken.java:136
String issuer
Definition: JsonWebToken.java:51

◆ serializeKey()

default String org.keycloak.models.ActionTokenKeyModel.serializeKey ( )
inlineinherited
49  {
50  String userId = getUserId();
51  String encodedUserId = userId == null ? "" : Base64.encodeBytes(userId.getBytes(StandardCharsets.UTF_8));
52  return String.format("%s.%d.%s.%s", encodedUserId, getExpiration(), getActionVerificationNonce(), getActionId());
53  }

◆ setCompoundAuthenticationSessionId()

final void org.keycloak.authentication.actiontoken.DefaultActionToken.setCompoundAuthenticationSessionId ( String  authenticationSessionId)
inline
85  {
86  setOtherClaims(JSON_FIELD_AUTHENTICATION_SESSION_ID, authenticationSessionId);
87  }
static final String JSON_FIELD_AUTHENTICATION_SESSION_ID
Definition: DefaultActionToken.java:39
void setOtherClaims(String name, Object value)
Definition: JsonWebToken.java:230

◆ setNote()

final String org.keycloak.authentication.actiontoken.DefaultActionToken.setNote ( String  name,
String  value 
)
inline

Sets value of the given note

戻り値
original value (or
null
when no value was present)
109  {
110  Object res = value == null
111  ? getOtherClaims().remove(name)
112  : getOtherClaims().put(name, value);
113  return res instanceof String ? (String) res : null;
114  }
Map< String, Object > getOtherClaims()
Definition: JsonWebToken.java:225

◆ setOtherClaims()

void org.keycloak.representations.JsonWebToken.setOtherClaims ( String  name,
Object  value 
)
inlineinherited
230  {
231  otherClaims.put(name, value);
232  }
Map< String, Object > otherClaims
Definition: JsonWebToken.java:62

◆ setSubject()

void org.keycloak.representations.JsonWebToken.setSubject ( String  subject)
inlineinherited
192  {
193  this.subject = subject;
194  }
String subject
Definition: JsonWebToken.java:57

◆ subject()

JsonWebToken org.keycloak.representations.JsonWebToken.subject ( String  subject)
inlineinherited
187  {
188  this.subject = subject;
189  return this;
190  }
String subject
Definition: JsonWebToken.java:57

◆ type()

JsonWebToken org.keycloak.representations.JsonWebToken.type ( String  type)
inlineinherited
200  {
201  this.type = type;
202  return this;
203  }
String type
Definition: JsonWebToken.java:59

メンバ詳解

◆ ACTION_TOKEN_BASIC_CHECKS

final Predicate<DefaultActionTokenKey> org.keycloak.authentication.actiontoken.DefaultActionToken.ACTION_TOKEN_BASIC_CHECKS
static
初期値:
= t -> {
if (t.getActionVerificationNonce() == null) {
throw new VerificationException("Nonce not present.");
}
return true;
}

◆ ACTION_TOKEN_USER_ID

final String org.keycloak.authentication.actiontoken.DefaultActionTokenKey.ACTION_TOKEN_USER_ID = "ACTION_TOKEN_USER"
staticinherited

The authenticationSession note with ID of the user authenticated via the action token

◆ audience

String [] org.keycloak.representations.JsonWebToken.audience
protectedinherited

◆ expiration

int org.keycloak.representations.JsonWebToken.expiration
protectedinherited

◆ id

String org.keycloak.representations.JsonWebToken.id
protectedinherited

◆ issuedAt

int org.keycloak.representations.JsonWebToken.issuedAt
protectedinherited

◆ issuedFor

String org.keycloak.representations.JsonWebToken.issuedFor
inherited

◆ issuer

String org.keycloak.representations.JsonWebToken.issuer
protectedinherited

◆ JSON_FIELD_ACTION_VERIFICATION_NONCE

final String org.keycloak.authentication.actiontoken.DefaultActionTokenKey.JSON_FIELD_ACTION_VERIFICATION_NONCE = "nonce"
staticinherited

◆ JSON_FIELD_AUTHENTICATION_SESSION_ID

final String org.keycloak.authentication.actiontoken.DefaultActionToken.JSON_FIELD_AUTHENTICATION_SESSION_ID = "asid"
static

◆ notBefore

int org.keycloak.representations.JsonWebToken.notBefore
protectedinherited

◆ otherClaims

Map<String, Object> org.keycloak.representations.JsonWebToken.otherClaims = new HashMap<>()
protectedinherited

◆ subject

String org.keycloak.representations.JsonWebToken.subject
protectedinherited

◆ type

String org.keycloak.representations.JsonWebToken.type
protectedinherited

このクラス詳解は次のファイルから抽出されました: