Compare commits

...

10 Commits

Author SHA1 Message Date
0e21f3eab6 Add missing mock 2023-03-22 03:07:33 +01:00
9fcf692cb8 Bump version 2023-03-22 03:03:24 +01:00
da577ea3cc Add stateChecker to password context 2023-03-22 03:02:44 +01:00
6ae1d8938a Fix eslint 2023-03-22 03:00:44 +01:00
3e18a7390c Bump version: Release v7 🚀 2023-03-22 01:55:49 +01:00
5f43f1afc6 Shot a new post build tutorial video 2023-03-22 01:46:05 +01:00
2fc9c03430 Relase candidate 2023-03-21 23:39:40 +01:00
d951a9ba02 Improve post build instructions 2023-03-21 23:21:30 +01:00
93385af675 Release candidate 2023-03-21 19:44:41 +01:00
dd75d0ece7 Account theme specific instructions 2023-03-21 19:44:01 +01:00
7 changed files with 24 additions and 11 deletions

View File

@ -40,6 +40,12 @@
# Changelog highlights # Changelog highlights
## 7.0 🍾
- Account theme support 🚀
- It's much easier to customize pages at the CSS level, you can now see in the browser dev tool the customizable classes.
- New interactive CLI tool `npx eject-keycloak-page`, that enables to select the page you want to customize at the component level.
## 6.13 ## 6.13
- Build work behind corporate proxies, [see issue](https://github.com/InseeFrLab/keycloakify/issues/257). - Build work behind corporate proxies, [see issue](https://github.com/InseeFrLab/keycloakify/issues/257).

View File

@ -1,6 +1,6 @@
{ {
"name": "keycloakify", "name": "keycloakify",
"version": "7.0.0-rc.14", "version": "7.0.1",
"description": "Create Keycloak themes using React", "description": "Create Keycloak themes using React",
"repository": { "repository": {
"type": "git", "type": "git",

View File

@ -43,6 +43,7 @@ export default function Template(props: TemplateProps<KcContext, I18n>) {
{realm.internationalizationEnabled && (assert(locale !== undefined), true) && locale.supported.length > 1 && ( {realm.internationalizationEnabled && (assert(locale !== undefined), true) && locale.supported.length > 1 && (
<li> <li>
<div className="kc-dropdown" id="kc-locale-dropdown"> <div className="kc-dropdown" id="kc-locale-dropdown">
{/* eslint-disable-next-line jsx-a11y/anchor-is-valid */}
<a href="#" id="kc-current-locale-link"> <a href="#" id="kc-current-locale-link">
{labelBySupportedLanguageTag[currentLanguageTag]} {labelBySupportedLanguageTag[currentLanguageTag]}
</a> </a>

View File

@ -64,6 +64,7 @@ export declare namespace KcContext {
password: { password: {
passwordSet: boolean; passwordSet: boolean;
}; };
stateChecker: string;
}; };
export type Account = Common & { export type Account = Common & {

View File

@ -154,7 +154,8 @@ export const kcContextMocks: KcContext[] = [
"pageId": "password.ftl", "pageId": "password.ftl",
"password": { "password": {
"passwordSet": true "passwordSet": true
} },
"stateChecker": "state checker"
}), }),
id<KcContext.Account>({ id<KcContext.Account>({
...kcContextCommonMock, ...kcContextCommonMock,

View File

@ -15,7 +15,7 @@ export default function LogoutConfirm(props: PageProps<Extract<KcContext, { page
} }
}); });
const { url, password, account } = kcContext; const { url, password, account, stateChecker } = kcContext;
const { msg } = i18n; const { msg } = i18n;
@ -55,7 +55,7 @@ export default function LogoutConfirm(props: PageProps<Extract<KcContext, { page
</div> </div>
)} )}
<input type="hidden" id="stateChecker" name="stateChecker" value="${stateChecker}" /> <input type="hidden" id="stateChecker" name="stateChecker" value={stateChecker} />
<div className="form-group"> <div className="form-group">
<div className="col-sm-2 col-md-2"> <div className="col-sm-2 col-md-2">

View File

@ -130,17 +130,21 @@ export async function main() {
``, ``,
`Once your container is up and running: `, `Once your container is up and running: `,
"- Log into the admin console 👉 http://localhost:8080/admin username: admin, password: admin 👈", "- Log into the admin console 👉 http://localhost:8080/admin username: admin, password: admin 👈",
`- Create a realm named "myrealm"`, `- Create a realm: myrealm`,
`- Create a client with ID: "myclient"`, `- Enable registration: Realm settings -> Login tab -> User registration: on`,
`- Enable the Account theme: Realm settings -> Themes tab -> Account theme, select ${buildOptions.themeName} `,
`- Create a client id myclient`,
` Root URL: https://www.keycloak.org/app/`, ` Root URL: https://www.keycloak.org/app/`,
` Valid redirect URIs: https://www.keycloak.org/app* http://localhost* (localhost isn't necessary here but it will be once you'll want to test the integration with your app)`, ` Valid redirect URIs: https://www.keycloak.org/app* http://localhost* (localhost is optional)`,
` Valid post logout redirect URIs: https://www.keycloak.org/app* http://localhost*`, ` Valid post logout redirect URIs: https://www.keycloak.org/app* http://localhost*`,
` Web origins: *`, ` Web origins: *`,
` Login Theme: ${buildOptions.themeName}`, ` Login Theme: ${buildOptions.themeName}`,
` Click save at the bottom of the page.`, ` Save (button at the bottom of the page)`,
`- Go to 👉 https://www.keycloak.org/app/ 👈 Click "Save" then "Sign in". You should see your login page`,
``, ``,
`Video demoing this process: https://youtu.be/N3wlBoH4hKg`, `- Go to 👉 https://www.keycloak.org/app/ 👈 Click "Save" then "Sign in". You should see your login page`,
`- Got to 👉 http://localhost:8080/realms/myrealm/account 👈 to see your account theme`,
``,
`Video tutorial: https://youtu.be/WMyGZNHQkjU`,
`` ``
].join("\n") ].join("\n")
); );