keycloak
公開メンバ関数 | 非公開メンバ関数 | 全メンバ一覧
org.keycloak.authentication.requiredactions.UpdateTotp クラス
org.keycloak.authentication.requiredactions.UpdateTotp の継承関係図
Inheritance graph
org.keycloak.authentication.requiredactions.UpdateTotp 連携図
Collaboration graph

公開メンバ関数

void evaluateTriggers (RequiredActionContext context)
 
void requiredActionChallenge (RequiredActionContext context)
 
void processAction (RequiredActionContext context)
 
void close ()
 
RequiredActionProvider create (KeycloakSession session)
 
RequiredActionProvider createDisplay (KeycloakSession session, String displayType)
 
void init (Config.Scope config)
 
void postInit (KeycloakSessionFactory factory)
 
String getDisplayText ()
 
String getId ()
 
boolean isOneTimeAction ()
 
default int order ()
 

非公開メンバ関数

String getMode (RequiredActionContext context)
 

詳解

著者
Bill Burke
バージョン
Revision
1

関数詳解

◆ close()

void org.keycloak.authentication.requiredactions.UpdateTotp.close ( )
inline

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

98  {
99 
100  }

◆ create()

RequiredActionProvider org.keycloak.authentication.requiredactions.UpdateTotp.create ( KeycloakSession  session)
inline

org.keycloak.provider.ProviderFactory< T extends Provider >を実装しています。

103  {
104  return this;
105  }

◆ createDisplay()

RequiredActionProvider org.keycloak.authentication.requiredactions.UpdateTotp.createDisplay ( KeycloakSession  session,
String  displayType 
)
inline

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

109  {
110  if (displayType == null) return this;
111  if (!OAuth2Constants.DISPLAY_CONSOLE.equalsIgnoreCase(displayType)) return null;
112  return ConsoleUpdateTotp.SINGLETON;
113  }
Definition: OAuth2Constants.java:23
String DISPLAY_CONSOLE
Definition: OAuth2Constants.java:119

◆ evaluateTriggers()

void org.keycloak.authentication.requiredactions.UpdateTotp.evaluateTriggers ( RequiredActionContext  context)
inline

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

42  {
43  }

◆ getDisplayText()

String org.keycloak.authentication.requiredactions.UpdateTotp.getDisplayText ( )
inline

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

127  {
128  return "Configure OTP";
129  }

◆ getId()

String org.keycloak.authentication.requiredactions.UpdateTotp.getId ( )
inline

org.keycloak.provider.ProviderFactory< T extends Provider >を実装しています。

133  {
135  }
Definition: UserModel.java:30
CONFIGURE_TOTP
Definition: UserModel.java:124
Definition: UserModel.java:123

◆ getMode()

String org.keycloak.authentication.requiredactions.UpdateTotp.getMode ( RequiredActionContext  context)
inlineprivate
53  {
54  return context.getUriInfo().getQueryParameters().getFirst("mode");
55  }

◆ init()

void org.keycloak.authentication.requiredactions.UpdateTotp.init ( Config.Scope  config)
inline

org.keycloak.provider.ProviderFactory< T extends Provider >を実装しています。

117  {
118 
119  }

◆ isOneTimeAction()

boolean org.keycloak.authentication.requiredactions.UpdateTotp.isOneTimeAction ( )
inline

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

138  {
139  return true;
140  }

◆ order()

default int org.keycloak.provider.ProviderFactory< T extends Provider >.order ( )
inlineinherited

◆ postInit()

void org.keycloak.authentication.requiredactions.UpdateTotp.postInit ( KeycloakSessionFactory  factory)
inline

org.keycloak.provider.ProviderFactory< T extends Provider >を実装しています。

122  {
123 
124  }

◆ processAction()

void org.keycloak.authentication.requiredactions.UpdateTotp.processAction ( RequiredActionContext  context)
inline

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

58  {
59  EventBuilder event = context.getEvent();
60  event.event(EventType.UPDATE_TOTP);
61  MultivaluedMap<String, String> formData = context.getHttpRequest().getDecodedFormParameters();
62  String totp = formData.getFirst("totp");
63  String totpSecret = formData.getFirst("totpSecret");
64 
65  if (Validation.isBlank(totp)) {
66  Response challenge = context.form()
67  .setAttribute("mode", getMode(context))
70  context.challenge(challenge);
71  return;
72  } else if (!CredentialValidation.validOTP(context.getRealm(), totp, totpSecret)) {
73  Response challenge = context.form()
74  .setAttribute("mode", getMode(context))
77  context.challenge(challenge);
78  return;
79  }
80 
81  UserCredentialModel credentials = new UserCredentialModel();
82  credentials.setType(context.getRealm().getOTPPolicy().getType());
83  credentials.setValue(totpSecret);
84  context.getSession().userCredentialManager().updateCredential(context.getRealm(), context.getUser(), credentials);
85 
86 
87  // if type is HOTP, to update counter we execute validation based on supplied token
88  UserCredentialModel cred = new UserCredentialModel();
89  cred.setType(context.getRealm().getOTPPolicy().getType());
90  cred.setValue(totp);
91  context.getSession().userCredentialManager().isValid(context.getRealm(), context.getUser(), cred);
92 
93  context.success();
94  }
Definition: UserModel.java:30
static final String INVALID_TOTP
Definition: Messages.java:61
String getMode(RequiredActionContext context)
Definition: UpdateTotp.java:53
LoginFormsProvider setError(String message, Object ... parameters)
static final String MISSING_TOTP
Definition: Messages.java:53
UserCredentialManager userCredentialManager()
boolean isValid(RealmModel realm, UserModel user, List< CredentialInput > inputs)
Definition: Messages.java:22
void updateCredential(RealmModel realm, UserModel user, CredentialInput input)
CONFIGURE_TOTP
Definition: UserModel.java:124
LoginFormsProvider setAttribute(String name, Object value)
Definition: UserModel.java:123
Response createResponse(UserModel.RequiredAction action)
Event event
Definition: EventBuilder.java:44
String getType()
Definition: OTPPolicy.java:75
Definition: EventBuilder.java:37

◆ requiredActionChallenge()

void org.keycloak.authentication.requiredactions.UpdateTotp.requiredActionChallenge ( RequiredActionContext  context)
inline

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

46  {
47  Response challenge = context.form()
48  .setAttribute("mode", getMode(context))
50  context.challenge(challenge);
51  }
Definition: UserModel.java:30
String getMode(RequiredActionContext context)
Definition: UpdateTotp.java:53
CONFIGURE_TOTP
Definition: UserModel.java:124
LoginFormsProvider setAttribute(String name, Object value)
Definition: UserModel.java:123
Response createResponse(UserModel.RequiredAction action)

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