keycloak-oidc-service
公開メンバ関数 | 非公開メンバ関数 | 全メンバ一覧
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  }

◆ 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
Definition: UserModel.java:123
CONFIGURE_TOTP
Definition: UserModel.java:124

◆ 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

org.keycloak.urls.HostnameProviderFactory, org.keycloak.protocol.oidc.ext.OIDCExtProviderFactoryで実装されています。

56  {
57  return 0;
58  }

◆ 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  }
Response createResponse(UserModel.RequiredAction action)
Definition: UserModel.java:30
Definition: Messages.java:22
Definition: UserModel.java:123
static final String INVALID_TOTP
Definition: Messages.java:61
void updateCredential(RealmModel realm, UserModel user, CredentialInput input)
boolean isValid(RealmModel realm, UserModel user, List< CredentialInput > inputs)
LoginFormsProvider setError(String message, Object ... parameters)
UserCredentialManager userCredentialManager()
CONFIGURE_TOTP
Definition: UserModel.java:124
static final String MISSING_TOTP
Definition: Messages.java:53
String getMode(RequiredActionContext context)
Definition: UpdateTotp.java:53
Event event
Definition: EventBuilder.java:44
String getType()
Definition: OTPPolicy.java:75
LoginFormsProvider setAttribute(String name, Object value)
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  }
Response createResponse(UserModel.RequiredAction action)
Definition: UserModel.java:30
Definition: UserModel.java:123
CONFIGURE_TOTP
Definition: UserModel.java:124
String getMode(RequiredActionContext context)
Definition: UpdateTotp.java:53
LoginFormsProvider setAttribute(String name, Object value)

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