keycloakify 9.0.0-rc.0 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/README.md +8 -18
  2. package/account/Template.js +1 -1
  3. package/account/Template.js.map +1 -1
  4. package/account/TemplateProps.d.ts +1 -1
  5. package/account/kcContext/KcContext.d.ts +1 -0
  6. package/account/kcContext/KcContext.js.map +1 -1
  7. package/account/kcContext/kcContextMocks.js +1 -0
  8. package/account/kcContext/kcContextMocks.js.map +1 -1
  9. package/account/lib/useGetClassName.js +1 -0
  10. package/account/lib/useGetClassName.js.map +1 -1
  11. package/account/pages/Account.js +1 -1
  12. package/account/pages/Account.js.map +1 -1
  13. package/bin/getSrcDirPath.js +30 -17
  14. package/bin/getSrcDirPath.js.map +1 -1
  15. package/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl +6 -0
  16. package/bin/keycloakify/generateFtl/generateFtl.js +22 -0
  17. package/bin/keycloakify/generateFtl/generateFtl.js.map +1 -1
  18. package/bin/keycloakify/generateFtl/pageId.d.ts +1 -1
  19. package/bin/keycloakify/generateFtl/pageId.js +2 -0
  20. package/bin/keycloakify/generateFtl/pageId.js.map +1 -1
  21. package/bin/keycloakify/generateJavaStackFiles/bringInAccountV1.js +1 -5
  22. package/bin/keycloakify/generateJavaStackFiles/bringInAccountV1.js.map +1 -1
  23. package/bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.js +32 -103
  24. package/bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.js.map +1 -1
  25. package/bin/keycloakify/generateStartKeycloakTestingContainer.d.ts +1 -0
  26. package/bin/keycloakify/generateStartKeycloakTestingContainer.js +4 -3
  27. package/bin/keycloakify/generateStartKeycloakTestingContainer.js.map +1 -1
  28. package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.d.ts +0 -1
  29. package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js +22 -13
  30. package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js.map +1 -1
  31. package/bin/keycloakify/generateTheme/readStaticResourcesUsage.d.ts +0 -2
  32. package/bin/keycloakify/generateTheme/readStaticResourcesUsage.js +37 -51
  33. package/bin/keycloakify/generateTheme/readStaticResourcesUsage.js.map +1 -1
  34. package/bin/keycloakify/keycloakify.js +3 -2
  35. package/bin/keycloakify/keycloakify.js.map +1 -1
  36. package/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.js +7 -3
  37. package/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.js.map +1 -1
  38. package/lib/usePrepareTemplate.js +7 -8
  39. package/lib/usePrepareTemplate.js.map +1 -1
  40. package/login/Fallback.js +6 -0
  41. package/login/Fallback.js.map +1 -1
  42. package/login/Template.js +1 -1
  43. package/login/Template.js.map +1 -1
  44. package/login/TemplateProps.d.ts +1 -1
  45. package/login/kcContext/KcContext.d.ts +21 -1
  46. package/login/kcContext/KcContext.js.map +1 -1
  47. package/login/kcContext/kcContextMocks.d.ts +1 -1
  48. package/login/kcContext/kcContextMocks.js +12 -1
  49. package/login/kcContext/kcContextMocks.js.map +1 -1
  50. package/login/lib/useGetClassName.js +2 -0
  51. package/login/lib/useGetClassName.js.map +1 -1
  52. package/login/pages/Info.js +1 -1
  53. package/login/pages/Info.js.map +1 -1
  54. package/login/pages/LoginConfigTotp.js +1 -1
  55. package/login/pages/LoginConfigTotp.js.map +1 -1
  56. package/login/pages/LoginDeviceVerifyUserCode.d.ts +7 -0
  57. package/login/pages/LoginDeviceVerifyUserCode.js +15 -0
  58. package/login/pages/LoginDeviceVerifyUserCode.js.map +1 -0
  59. package/login/pages/LoginOauthGrant.d.ts +7 -0
  60. package/login/pages/LoginOauthGrant.js +15 -0
  61. package/login/pages/LoginOauthGrant.js.map +1 -0
  62. package/package.json +11 -67
  63. package/src/account/Template.tsx +1 -1
  64. package/src/account/TemplateProps.ts +1 -1
  65. package/src/account/kcContext/KcContext.ts +1 -0
  66. package/src/account/kcContext/kcContextMocks.ts +1 -0
  67. package/src/account/lib/useGetClassName.ts +1 -0
  68. package/src/account/pages/Account.tsx +4 -4
  69. package/src/bin/getSrcDirPath.ts +8 -8
  70. package/src/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl +6 -0
  71. package/src/bin/keycloakify/generateFtl/generateFtl.ts +21 -0
  72. package/src/bin/keycloakify/generateFtl/pageId.ts +2 -0
  73. package/src/bin/keycloakify/generateJavaStackFiles/bringInAccountV1.ts +1 -6
  74. package/src/bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.ts +32 -103
  75. package/src/bin/keycloakify/generateStartKeycloakTestingContainer.ts +11 -4
  76. package/src/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.ts +29 -15
  77. package/src/bin/keycloakify/generateTheme/readStaticResourcesUsage.ts +21 -28
  78. package/src/bin/keycloakify/keycloakify.ts +3 -3
  79. package/src/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.ts +14 -7
  80. package/src/lib/usePrepareTemplate.ts +7 -10
  81. package/src/login/Fallback.tsx +6 -0
  82. package/src/login/Template.tsx +1 -1
  83. package/src/login/TemplateProps.ts +3 -1
  84. package/src/login/kcContext/KcContext.ts +24 -0
  85. package/src/login/kcContext/kcContextMocks.ts +23 -1
  86. package/src/login/lib/useGetClassName.ts +2 -0
  87. package/src/login/pages/Info.tsx +4 -1
  88. package/src/login/pages/LoginConfigTotp.tsx +1 -1
  89. package/src/login/pages/LoginDeviceVerifyUserCode.tsx +68 -0
  90. package/src/login/pages/LoginOauthGrant.tsx +73 -0
  91. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/AccountPages.java +0 -33
  92. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/AccountProvider.java +0 -76
  93. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/AccountProviderFactory.java +0 -25
  94. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/AccountSpi.java +0 -50
  95. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/FreeMarkerAccountProvider.java +0 -424
  96. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/FreeMarkerAccountProviderFactory.java +0 -51
  97. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/Templates.java +0 -51
  98. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/AccountBean.java +0 -91
  99. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/AccountFederatedIdentityBean.java +0 -157
  100. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/ApplicationsBean.java +0 -258
  101. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/AuthorizationBean.java +0 -515
  102. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/FeaturesBean.java +0 -56
  103. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/LogBean.java +0 -95
  104. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/PasswordBean.java +0 -34
  105. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/RealmBean.java +0 -75
  106. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/ReferrerBean.java +0 -38
  107. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/SessionsBean.java +0 -93
  108. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/TotpBean.java +0 -125
  109. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/UrlBean.java +0 -121
  110. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/services/AccountUrls.java +0 -115
  111. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/services/resources/account/AccountFormService.java +0 -1320
  112. package/bin/keycloakify/generateJavaStackFiles/account-v1-java/services/resources/account/AccountFormServiceFactory.java +0 -64
  113. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/AccountPages.java +0 -33
  114. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/AccountProvider.java +0 -76
  115. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/AccountProviderFactory.java +0 -25
  116. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/AccountSpi.java +0 -50
  117. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/FreeMarkerAccountProvider.java +0 -424
  118. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/FreeMarkerAccountProviderFactory.java +0 -51
  119. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/Templates.java +0 -51
  120. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/AccountBean.java +0 -91
  121. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/AccountFederatedIdentityBean.java +0 -157
  122. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/ApplicationsBean.java +0 -258
  123. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/AuthorizationBean.java +0 -515
  124. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/FeaturesBean.java +0 -56
  125. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/LogBean.java +0 -95
  126. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/PasswordBean.java +0 -34
  127. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/RealmBean.java +0 -75
  128. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/ReferrerBean.java +0 -38
  129. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/SessionsBean.java +0 -93
  130. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/TotpBean.java +0 -125
  131. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/UrlBean.java +0 -121
  132. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/services/AccountUrls.java +0 -115
  133. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/services/resources/account/AccountFormService.java +0 -1320
  134. package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/services/resources/account/AccountFormServiceFactory.java +0 -64
@@ -0,0 +1,68 @@
1
+ import { clsx } from "keycloakify/tools/clsx";
2
+ import Template from "../Template";
3
+ import { I18n } from "../i18n";
4
+ import { KcContext } from "../kcContext";
5
+ import { useGetClassName } from "../lib/useGetClassName";
6
+ import { PageProps } from "./PageProps";
7
+
8
+ export default function LoginOauthGrant(props: PageProps<Extract<KcContext, { pageId: "login-oauth2-device-verify-user-code.ftl" }>, I18n>) {
9
+ const { kcContext, i18n, doUseDefaultCss, classes } = props;
10
+ const { url } = kcContext;
11
+
12
+ const { msg, msgStr } = i18n;
13
+
14
+ const { getClassName } = useGetClassName({
15
+ doUseDefaultCss,
16
+ classes
17
+ });
18
+
19
+ return (
20
+ <Template {...{ kcContext, i18n, doUseDefaultCss, classes }} headerNode={msg("oauth2DeviceVerificationTitle")}>
21
+ <form
22
+ id="kc-user-verify-device-user-code-form"
23
+ className={getClassName("kcFormClass")}
24
+ action={url.oauth2DeviceVerificationAction}
25
+ method="post"
26
+ >
27
+ <div className={getClassName("kcFormGroupClass")}>
28
+ <div className={getClassName("kcLabelWrapperClass")}>
29
+ <label htmlFor="device-user-code" className={getClassName("kcLabelClass")}>
30
+ {msg("verifyOAuth2DeviceUserCode")}
31
+ </label>
32
+ </div>
33
+
34
+ <div className={getClassName("kcInputWrapperClass")}>
35
+ <input
36
+ id="device-user-code"
37
+ name="device_user_code"
38
+ autoComplete="off"
39
+ type="text"
40
+ className={getClassName("kcInputClass")}
41
+ autoFocus
42
+ />
43
+ </div>
44
+ </div>
45
+
46
+ <div className={getClassName("kcFormGroupClass")}>
47
+ <div id="kc-form-options" className={getClassName("kcFormOptionsClass")}>
48
+ <div className={getClassName("kcFormOptionsWrapperClass")}></div>
49
+ </div>
50
+
51
+ <div id="kc-form-buttons" className={getClassName("kcFormButtonsClass")}>
52
+ <div className={getClassName("kcFormButtonsWrapperClass")}>
53
+ <input
54
+ className={clsx(
55
+ getClassName("kcButtonClass"),
56
+ getClassName("kcButtonPrimaryClass"),
57
+ getClassName("kcButtonLargeClass")
58
+ )}
59
+ type="submit"
60
+ value={msgStr("doSubmit")}
61
+ />
62
+ </div>
63
+ </div>
64
+ </div>
65
+ </form>
66
+ </Template>
67
+ );
68
+ }
@@ -0,0 +1,73 @@
1
+ import { clsx } from "keycloakify/tools/clsx";
2
+ import { PageProps } from "./PageProps";
3
+ import { KcContext } from "../kcContext";
4
+ import { I18n } from "../i18n";
5
+ import Template from "../Template";
6
+ import { useGetClassName } from "keycloakify/login/lib/useGetClassName";
7
+
8
+ export default function LoginOauthGrant(props: PageProps<Extract<KcContext, { pageId: "login-oauth-grant.ftl" }>, I18n>) {
9
+ const { kcContext, i18n, doUseDefaultCss, classes } = props;
10
+ const { url, oauth, client } = kcContext;
11
+
12
+ const { msg, msgStr, advancedMsg, advancedMsgStr } = i18n;
13
+
14
+ const { getClassName } = useGetClassName({
15
+ doUseDefaultCss,
16
+ classes
17
+ });
18
+
19
+ return (
20
+ <Template
21
+ {...{ kcContext, i18n, doUseDefaultCss, classes }}
22
+ headerNode={msg("oauthGrantTitle", client.name ? advancedMsgStr(client.name) : client.clientId)}
23
+ >
24
+ <div id="kc-oauth" className="content-area">
25
+ <h3>{msg("oauthGrantRequest")}</h3>
26
+ <ul>
27
+ {oauth.clientScopesRequested.map(clientScope => (
28
+ <li key={clientScope.consentScreenText}>
29
+ <span>{advancedMsg(clientScope.consentScreenText)}</span>
30
+ </li>
31
+ ))}
32
+ </ul>
33
+
34
+ <form className="form-actions" action={url.oauthAction} method="POST">
35
+ <input type="hidden" name="code" value={oauth.code} />
36
+ <div className={getClassName("kcFormGroupClass")}>
37
+ <div id="kc-form-options">
38
+ <div className={getClassName("kcFormOptionsWrapperClass")}></div>
39
+ </div>
40
+
41
+ <div id="kc-form-buttons">
42
+ <div className={getClassName("kcFormButtonsWrapperClass")}>
43
+ <input
44
+ className={clsx(
45
+ getClassName("kcButtonClass"),
46
+ getClassName("kcButtonPrimaryClass"),
47
+ getClassName("kcButtonLargeClass")
48
+ )}
49
+ name="accept"
50
+ id="kc-login"
51
+ type="submit"
52
+ value={msgStr("doYes")}
53
+ />
54
+ <input
55
+ className={clsx(
56
+ getClassName("kcButtonClass"),
57
+ getClassName("kcButtonDefaultClass"),
58
+ getClassName("kcButtonLargeClass")
59
+ )}
60
+ name="cancel"
61
+ id="kc-cancel"
62
+ type="submit"
63
+ value={msgStr("doNo")}
64
+ />
65
+ </div>
66
+ </div>
67
+ </div>
68
+ </form>
69
+ <div className="clearfix"></div>
70
+ </div>
71
+ </Template>
72
+ );
73
+ }
@@ -1,33 +0,0 @@
1
- /*
2
- * Copyright 2016 Red Hat, Inc. and/or its affiliates
3
- * and other contributors as indicated by the @author tags.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
-
18
- package org.keycloak.forms.account;
19
-
20
- /**
21
- * @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
22
- */
23
- public enum AccountPages {
24
- ACCOUNT,
25
- PASSWORD,
26
- TOTP,
27
- FEDERATED_IDENTITY,
28
- LOG,
29
- SESSIONS,
30
- APPLICATIONS,
31
- RESOURCES,
32
- RESOURCE_DETAIL;
33
- }
@@ -1,76 +0,0 @@
1
- /*
2
- * Copyright 2016 Red Hat, Inc. and/or its affiliates
3
- * and other contributors as indicated by the @author tags.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
-
18
- package org.keycloak.forms.account;
19
-
20
- import jakarta.ws.rs.core.HttpHeaders;
21
- import jakarta.ws.rs.core.MultivaluedMap;
22
- import jakarta.ws.rs.core.Response;
23
- import jakarta.ws.rs.core.UriInfo;
24
- import java.util.List;
25
- import org.keycloak.events.Event;
26
- import org.keycloak.models.RealmModel;
27
- import org.keycloak.models.UserModel;
28
- import org.keycloak.models.UserSessionModel;
29
- import org.keycloak.models.utils.FormMessage;
30
- import org.keycloak.provider.Provider;
31
-
32
- /**
33
- * @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
34
- */
35
- public interface AccountProvider extends Provider {
36
-
37
- AccountProvider setUriInfo(UriInfo uriInfo);
38
-
39
- AccountProvider setHttpHeaders(HttpHeaders httpHeaders);
40
-
41
- Response createResponse(AccountPages page);
42
-
43
- AccountProvider setError(Response.Status status, String message, Object... parameters);
44
-
45
- AccountProvider setErrors(Response.Status status, List<FormMessage> messages);
46
-
47
- AccountProvider setSuccess(String message, Object... parameters);
48
-
49
- AccountProvider setWarning(String message, Object... parameters);
50
-
51
- AccountProvider setUser(UserModel user);
52
-
53
- AccountProvider setProfileFormData(MultivaluedMap<String, String> formData);
54
-
55
- AccountProvider setRealm(RealmModel realm);
56
-
57
- AccountProvider setReferrer(String[] referrer);
58
-
59
- AccountProvider setEvents(List<Event> events);
60
-
61
- AccountProvider setSessions(List<UserSessionModel> sessions);
62
-
63
- AccountProvider setPasswordSet(boolean passwordSet);
64
-
65
- AccountProvider setStateChecker(String stateChecker);
66
-
67
- AccountProvider setIdTokenHint(String idTokenHint);
68
-
69
- AccountProvider setFeatures(
70
- boolean social,
71
- boolean events,
72
- boolean passwordUpdateSupported,
73
- boolean authorizationSupported);
74
-
75
- AccountProvider setAttribute(String key, String value);
76
- }
@@ -1,25 +0,0 @@
1
- /*
2
- * Copyright 2016 Red Hat, Inc. and/or its affiliates
3
- * and other contributors as indicated by the @author tags.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
-
18
- package org.keycloak.forms.account;
19
-
20
- import org.keycloak.provider.ProviderFactory;
21
-
22
- /**
23
- * @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
24
- */
25
- public interface AccountProviderFactory extends ProviderFactory<AccountProvider> {}
@@ -1,50 +0,0 @@
1
- /*
2
- * Copyright 2016 Red Hat, Inc. and/or its affiliates
3
- * and other contributors as indicated by the @author tags.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
-
18
- package org.keycloak.forms.account;
19
-
20
- import com.google.auto.service.AutoService;
21
- import org.keycloak.provider.Provider;
22
- import org.keycloak.provider.ProviderFactory;
23
- import org.keycloak.provider.Spi;
24
-
25
- /**
26
- * @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
27
- */
28
- @AutoService(Spi.class)
29
- public class AccountSpi implements Spi {
30
-
31
- @Override
32
- public boolean isInternal() {
33
- return true;
34
- }
35
-
36
- @Override
37
- public String getName() {
38
- return "account";
39
- }
40
-
41
- @Override
42
- public Class<? extends Provider> getProviderClass() {
43
- return AccountProvider.class;
44
- }
45
-
46
- @Override
47
- public Class<? extends ProviderFactory> getProviderFactoryClass() {
48
- return AccountProviderFactory.class;
49
- }
50
- }