Commit Graph
30 Commits
Author SHA1 Message Date
546e66cb5d feat: add WebAuthn support (#4704)
Signed-off-by: maksim.nabokikh <max.nabokih@gmail.com>
Signed-off-by: Maksim Nabokikh <max.nabokih@gmail.com>
Co-authored-by: Alwx <alwxsin@gmail.com>
2026-04-02 11:48:46 +02:00
Maksim NabokikhandGitHub 58f148dd28 feat: implement OIDC RP-Initiated logout (#4674)
Signed-off-by: maksim.nabokikh <max.nabokih@gmail.com>
Signed-off-by: Maksim Nabokikh <max.nabokih@gmail.com>
2026-04-01 08:58:44 +02:00
Maksim NabokikhandGitHub 8031f5b1ca feat: add home page with user session info (#4677)
Signed-off-by: maksim.nabokikh <max.nabokih@gmail.com>
2026-03-30 15:33:30 +02:00
Maksim NabokikhandGitHub 86abd336f8 Two-Factor authentication (TOTP) (#3712)
Signed-off-by: maksim.nabokikh <max.nabokih@gmail.com>
2026-03-18 18:20:20 +01:00
Maksim NabokikhandGitHub cbd7dd7f5a feat: Create AuthSessions and set cookies (#4650)
Signed-off-by: maksim.nabokikh <max.nabokih@gmail.com>
2026-03-18 11:58:18 +01:00
LoganandGitHub d90827cc30 fix: use correct id value for label (#4541)
Signed-off-by: Logan <31484824+loganripplinger@users.noreply.github.com>
2026-02-15 16:07:22 +01:00
Tuomo TanskanenandGitHub d7eae8fe79 remove extra method="get" from device-code template (#4145)
In device-code template, same form tag has method="post", then
followed by method="get".. Chrome can handle that as post just fine,
but in headless environments you might be using Lynx, which uses GET:
it results in 400 Bad Request from Dex server.

Signed-off-by: Tuomo Tanskanen <tuomo.tanskanen@est.tech>
2025-06-13 17:30:48 +02:00
Philip CorlissandGitHub a1748467cf Prevent double clicking of the submit button on login (#3554)
Signed-off-by: Philip Corliss <pcorliss@drwholdings.com>
2024-06-13 08:40:26 +02:00
Alastair Houghton 0284a4c3c9 fix: back link on password page needs to be explicit.
The back link on the password page was using Javascript to tell the
browser to navigate back, which won't work if the user has entered a
set of incorrect log-in details.  Fix this by using an explicit URL
instead.

Fixes #1851

Signed-off-by: Alastair Houghton <alastair@alastairs-place.net>
2021-05-21 11:24:30 +01:00
4e569024fd use go 1.16 new package io/fs
Unify the interface for reading web statics. Now it could read an
OS directory or get the content on live

One could use

//go:embed static
var webFiles embed.FS

anywhere and config dex server to take the file system by setting

WebConfig{WebFS: webFiles}

Signed-off-by: Rui Yang <ruiya@vmware.com>
Co-authored-by: Aidan Oldershaw <aoldershaw@pivotal.io>
2021-03-20 20:05:59 +00:00
7b50cbf0ac use pkger for embedding static contents
Co-authored-by: Vikram Yadav <vyadav@pivotal.io>
Signed-off-by: Rui Yang <ruiya@vmware.com>
2021-03-20 20:05:59 +00:00
10e9054811 Use http.FileSystem for web assets
Signed-off-by: Rui Yang <ryang@pivotal.io>
Co-authored-by: Aidan Oldershaw <aoldershaw@pivotal.io>
2021-03-20 20:05:59 +00:00
Brian Candler aa615c04c9 Improve "Grant Access" template when client requests only openid scope
Fixes #1732

Signed-off-by: Brian Candler <b.candler@pobox.com>
2021-02-11 17:35:40 +00:00
Justin Slowikandjustin-slowik 9bbdc721d5 Device flow token code exchange (#2)
* Added /device/token handler with associated business logic and storage tests.

Perform user code exchange, flag the device code as complete.

Moved device handler code into its own file for cleanliness.  Cleanup

* Removed PKCE code

* Rate limiting for /device/token endpoint based on ietf standards

* Configurable Device expiry

Signed-off-by: justin-slowik <justin.slowik@thermofisher.com>
2020-07-08 16:25:05 -04:00
m.nabokikh 058e72ef50 Pick icons on login screen by connector type instead of ID
Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>
2019-12-23 12:38:22 +04:00
Yannis Zarkadas 59beb7425f web: change header template to use new url function
Signed-off-by: Yannis Zarkadas <yanniszark@arrikto.com>
2019-10-02 17:08:06 +03:00
Stephan Renatus 41f663f70c show "back" link for password connectors
This way, the user who has selected, say, "Log in with Email" can make up
their mind, and select a different connector instead.

However, if there's only one connector set up, none of this makes sense -- and
the link will thus not be displayed.

Signed-off-by: Stephan Renatus <srenatus@chef.io>
2017-11-13 08:39:59 +01:00
Stephan Renatus b09a13458f password connectors: allow overriding the username attribute (password prompt)
This allows users of the LDAP connector to give users of Dex' login
prompt an idea of what they should enter for a username.

Before, irregardless of how the LDAP connector was set up, the prompt
was

    Username
    [_________________]

    Password
    [_________________]

Now, this is configurable, and can be used to say "MyCorp SSO Login" if
that's what it is.

If it's not configured, it will default to "Username".

For the passwordDB connector (local users), it is set to "Email
Address", since this is what it uses.

Signed-off-by: Stephan Renatus <srenatus@chef.io>
2017-11-09 09:30:03 +01:00
cpanato 620695ed2b tests: add ids to elements for testing automation 2017-10-10 11:38:14 +02:00
Amruta Chitnis df8fc84851 Updates coreos themes and icons for various providers 2017-09-14 09:37:07 -07:00
Eric Chiang 72a431dd4b {web,server}: use html/template and reduce use of auth request ID
Switch from using "text/template" to "html/template", which provides
basic XSS preventions. We haven't identified any particular place
where unsanitized user data is rendered to the frontend. This is
just a preventative step.

At the same time, make more templates take pure URL instead of
forming an URL themselves using an "authReqID" argument. This will
help us stop using the auth req ID in certain places, preventing
garbage collection from killing login flows that wait too long at
the login screen.

Also increase the login session window (time between initial
redirect and the user logging in) from 30 minutes to 24 hours,
and display a more helpful error message when the session expires.

How to test:

1. Spin up dex and example with examples/config-dev.yaml.
2. Login through both the password prompt and the direct redirect.
3. Edit examples/config-dev.yaml removing the "connectors" section.
4. Ensure you can still login with a password.

(email/password is "admin@example.com" and "password")
2017-02-02 11:11:00 -08:00
rithu john 75aa1c67ce server: add error HTML templates with error description. 2016-12-16 10:42:54 -08:00
Amruta Chitnis b7439d1a75 Address PR comments 2016-12-01 14:06:08 -08:00
Amruta Chitnis 577d1af029 web: Updates classes in templates 2016-12-01 13:41:56 -08:00
Eric Chiang 5e61d5fe83 Revert "Merge pull request #714 from amrutac/refactor-css"
This reverts commit 4d88eabb50, reversing
changes made to b38d355202.
2016-12-01 13:18:32 -08:00