Joshua Nazareth 1 week ago
parent
commit
39ee94b003
No account linked to committer's email address

+ 1
- 0
options/locale/locale_en-US.ini View File

@@ -5,6 +5,7 @@ help = Help
logo = Logo
sign_in = Sign In
sign_in_with_provider = Sign in with %s
sign_in_with_username_password = Sign in with username and password
sign_in_or = or
sign_out = Sign Out
sign_up = Register

+ 21
- 0
templates/user/auth/oauth_container.tmpl View File

@@ -0,0 +1,21 @@
<div class="divider divider-text">
{{ctx.Locale.Tr "sign_in_or"}}
</div>
<div id="oauth2-login-navigator" class="tw-py-1">
<div class="tw-flex tw-flex-col tw-justify-center">
<div id="oauth2-login-navigator-inner" class="tw-flex tw-flex-col tw-flex-wrap tw-items-center tw-gap-2">
{{range $provider := .OAuth2Providers}}
<a class="{{$provider.Name}} ui button tw-flex tw-items-center tw-justify-center tw-py-2 tw-w-full oauth-login-link" href="{{AppSubUrl}}/user/oauth2/{{$provider.DisplayName}}">
{{$provider.IconHTML 28}}
{{ctx.Locale.Tr "sign_in_with_provider" $provider.DisplayName}}
</a>
{{end}}
{{if .EnableOpenIDSignIn}}
<a class="openid ui button tw-flex tw-items-center tw-justify-center tw-py-3 tw-w-full" href="{{AppSubUrl}}/user/login/openid">
{{svg "fontawesome-openid" 28 "tw-mr-2"}}
{{ctx.Locale.Tr "sign_in_with_provider" "OpenID"}}
</a>
{{end}}
</div>
</div>
</div>

+ 0
- 1
templates/user/auth/signin.tmpl View File

@@ -1,6 +1,5 @@
{{template "base/head" .}}
<div role="main" aria-label="{{.Title}}" class="page-content user signin{{if .LinkAccountMode}} icon{{end}}">
{{template "user/auth/signin_navbar" .}}
<div class="ui middle very relaxed page grid">
<div class="ui container column fluid">
{{template "user/auth/signin_inner" .}}

+ 2
- 16
templates/user/auth/signin_inner.tmpl View File

@@ -49,22 +49,8 @@
</div>
{{end}}

{{if .OAuth2Providers}}
<div class="divider divider-text">
{{ctx.Locale.Tr "sign_in_or"}}
</div>
<div id="oauth2-login-navigator" class="tw-py-1">
<div class="tw-flex tw-flex-col tw-justify-center">
<div id="oauth2-login-navigator-inner" class="tw-flex tw-flex-col tw-flex-wrap tw-items-center tw-gap-2">
{{range $provider := .OAuth2Providers}}
<a class="{{$provider.Name}} ui button tw-flex tw-items-center tw-justify-center tw-py-2 tw-w-full oauth-login-link" href="{{AppSubUrl}}/user/oauth2/{{$provider.DisplayName}}">
{{$provider.IconHTML 28}}
{{ctx.Locale.Tr "sign_in_with_provider" $provider.DisplayName}}
</a>
{{end}}
</div>
</div>
</div>
{{if or .OAuth2Providers .EnableOpenIDSignIn}}
{{template "user/auth/oauth_container" .}}
{{end}}
</form>
</div>

+ 5
- 1
templates/user/auth/signin_openid.tmpl View File

@@ -1,6 +1,5 @@
{{template "base/head" .}}
<div role="main" aria-label="{{.Title}}" class="page-content user signin openid">
{{template "user/auth/signin_navbar" .}}
<div class="ui container">
{{template "base/alert" .}}
<h4 class="ui top attached header center">
@@ -29,6 +28,11 @@
<div class="inline field">
<button class="ui primary button">{{ctx.Locale.Tr "sign_in"}}</button>
</div>
<div class="field">
<a href="{{AppSubUrl}}/user/login">
{{ctx.Locale.Tr "sign_in_with_username_password"}}
</a>
</div>
</form>
</div>
</div>

+ 0
- 1
templates/user/auth/signup.tmpl View File

@@ -1,6 +1,5 @@
{{template "base/head" .}}
<div role="main" aria-label="{{.Title}}" class="page-content user signin{{if .LinkAccountMode}} icon{{end}}">
{{template "user/auth/signin_navbar" .}}
<div class="ui middle very relaxed page grid">
{{template "user/auth/signup_inner" .}}
</div>

+ 2
- 17
templates/user/auth/signup_inner.tmpl View File

@@ -53,23 +53,8 @@
</div>
{{end}}
{{end}}

{{if .OAuth2Providers}}
<div class="divider divider-text">
{{ctx.Locale.Tr "sign_in_or"}}
</div>
<div id="oauth2-login-navigator" class="tw-py-1">
<div class="tw-flex tw-flex-col tw-justify-center">
<div id="oauth2-login-navigator-inner" class="tw-flex tw-flex-col tw-flex-wrap tw-items-center tw-gap-2">
{{range $provider := .OAuth2Providers}}
<a class="{{$provider.Name}} ui button tw-flex tw-items-center tw-justify-center tw-py-2 tw-w-full oauth-login-link" href="{{AppSubUrl}}/user/oauth2/{{$provider.DisplayName}}">
{{$provider.IconHTML 28}}
{{ctx.Locale.Tr "sign_in_with_provider" $provider.DisplayName}}
</a>
{{end}}
</div>
</div>
</div>
{{if or .OAuth2Providers .EnableOpenIDSignIn}}
{{template "user/auth/oauth_container" .}}
{{end}}
</form>
</div>

+ 12
- 0
tests/e2e/example.test.e2e.js View File

@@ -29,6 +29,18 @@ test('Test Register Form', async ({page}, workerInfo) => {
save_visual(page);
});

test('Test Login Form OpenID navigation', async ({page}, workerInfo) => {
const response = await page.goto('/user/login');
expect(response?.status()).toBe(200); // Status OK

await page.getByRole('link', {name: /Sign in with OpenID/ig}).click();

await page.waitForLoadState('networkidle');
expect(page.url()).toBe(`${workerInfo.project.use.baseURL}/user/login/openid`);

save_visual(page);
});

test('Test Login Form', async ({page}, workerInfo) => {
const response = await page.goto('/user/login');
await expect(response?.status()).toBe(200); // Status OK

+ 4
- 0
tests/mssql.ini.tmpl View File

@@ -110,3 +110,7 @@ ENABLED = true

[actions]
ENABLED = true

[openid]
ENABLE_OPENID_SIGNIN = true
ENABLE_OPENID_SIGNUP = true

+ 4
- 0
tests/mysql.ini.tmpl View File

@@ -119,3 +119,7 @@ REPLY_TO_ADDRESS = incoming+%{token}@localhost

[actions]
ENABLED = true

[openid]
ENABLE_OPENID_SIGNIN = true
ENABLE_OPENID_SIGNUP = true

+ 4
- 0
tests/pgsql.ini.tmpl View File

@@ -131,3 +131,7 @@ ENABLED = true

[actions]
ENABLED = true

[openid]
ENABLE_OPENID_SIGNIN = true
ENABLE_OPENID_SIGNUP = true

+ 4
- 0
tests/sqlite.ini.tmpl View File

@@ -117,3 +117,7 @@ RENDER_CONTENT_MODE=sanitized

[actions]
ENABLED = true

[openid]
ENABLE_OPENID_SIGNIN = true
ENABLE_OPENID_SIGNUP = true

Loading…
Cancel
Save