Skip to content

Commit ea911e4

Browse files
Support passkey in custom prompts (#1462)
* feat(prompts): add support for passkeys in prompt configurations - Introduced "passkeys" to the screenPartialPromptToScreenMap in terraform_fetcher.go. - Updated allowedPromptsWithPartials in universal_login_customize.go to include management.PromptPasskeys. - Enhanced test cases in universal_login_customize_test.go to validate the new passkeys prompt integration. - This change allows for better handling of passkey-related prompts in the authentication flow. * feat(universal-login): Use assets passkeys in partialsPrompts from ulp-branding-app - Added passkeys in ulp-branding-app before running `make assets` --------- Co-authored-by: Ramya Anusri <62586490+ramya18101@users.noreply.github.com>
1 parent 9016c5f commit ea911e4

6 files changed

Lines changed: 1701 additions & 1238 deletions

File tree

internal/cli/data/universal-login/assets/index-406d2307.js renamed to internal/cli/data/universal-login/assets/index-ec2d5a69.js

Lines changed: 1656 additions & 1203 deletions
Large diffs are not rendered by default.

internal/cli/data/universal-login/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<link rel="icon" type="image/png" href="https://cdn.auth0.com/quantum-assets/dist/1.0.3/favicons/auth0-favicon-onlight.png" />
66
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
77
<title>Auth0 | Branding Customization</title>
8-
<script type="module" crossorigin src="/assets/index-406d2307.js"></script>
8+
<script type="module" crossorigin src="/assets/index-ec2d5a69.js"></script>
99
<link rel="stylesheet" href="/assets/index-ba9d88e4.css">
1010
</head>
1111
<body>

internal/cli/data/universal-login/prompt-screen-settings.json

Lines changed: 0 additions & 34 deletions
This file was deleted.

internal/cli/terraform_fetcher.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -562,6 +562,7 @@ var screenPartialPromptToScreenMap = map[string][]string{
562562
"signup-id": {"signup-id"},
563563
"signup-password": {"signup-password"},
564564
"customized-consent": {"customized-consent"},
565+
"passkeys": {"passkey-enrollment", "passkey-enrollment-local"},
565566
}
566567

567568
func (f *promptScreenPartialResourceFetcher) FetchData(ctx context.Context) (importDataList, error) {

internal/cli/universal_login_customize.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ var allowedPromptsWithPartials = []management.PromptType{
9696
management.PromptLoginID,
9797
management.PromptLoginPassword,
9898
management.PromptLoginPasswordLess,
99+
management.PromptPasskeys,
99100
}
100101

101102
var PromptScreenMap = map[string][]string{
@@ -1005,6 +1006,10 @@ func fetchAllPartials(ctx context.Context, api *auth0.API) ([]partialsData, erro
10051006
return nil, err
10061007
}
10071008

1009+
if partial == nil {
1010+
partial = &management.PromptScreenPartials{}
1011+
}
1012+
10081013
constructedPartial := partialsData{
10091014
string(prompt): partial,
10101015
}

internal/cli/universal_login_customize_test.go

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -376,6 +376,13 @@ func TestFetchUniversalLoginBrandingData(t *testing.T) {
376376
},
377377
},
378378
},
379+
{
380+
"passkeys": {
381+
management.ScreenName("passkeys"): {
382+
management.InsertionPointFormContentEnd: "<form>",
383+
},
384+
},
385+
},
379386
},
380387
Prompts: []*promptData{
381388
{
@@ -601,6 +608,13 @@ func TestFetchUniversalLoginBrandingData(t *testing.T) {
601608
},
602609
},
603610
},
611+
{
612+
"passkeys": {
613+
management.ScreenName("passkeys"): {
614+
management.InsertionPointFormContentEnd: "<form>",
615+
},
616+
},
617+
},
604618
},
605619
Prompts: []*promptData{
606620
{
@@ -828,6 +842,13 @@ func TestFetchUniversalLoginBrandingData(t *testing.T) {
828842
},
829843
},
830844
},
845+
{
846+
"passkeys": {
847+
management.ScreenName("passkeys"): {
848+
management.InsertionPointFormContentEnd: "<form>",
849+
},
850+
},
851+
},
831852
},
832853
Prompts: []*promptData{
833854
{
@@ -1136,6 +1157,13 @@ func TestFetchUniversalLoginBrandingData(t *testing.T) {
11361157
},
11371158
},
11381159
},
1160+
{
1161+
"passkeys": {
1162+
management.ScreenName("passkeys"): {
1163+
management.InsertionPointFormContentEnd: "<form>",
1164+
},
1165+
},
1166+
},
11391167
},
11401168
Prompts: []*promptData{
11411169
{
@@ -2072,6 +2100,13 @@ func TestFetchAllPartials(t *testing.T) {
20722100
},
20732101
},
20742102
},
2103+
{
2104+
"passkeys": {
2105+
management.ScreenName("passkeys"): {
2106+
management.InsertionPointFormContentEnd: "<form>",
2107+
},
2108+
},
2109+
},
20752110
},
20762111
mockedAPI: func() *auth0.API {
20772112
mockPromptAPI := mock.NewMockPromptAPI(ctrl)
@@ -2132,6 +2167,9 @@ func TestFetchAllPartials(t *testing.T) {
21322167
{
21332168
"login-passwordless": {},
21342169
},
2170+
{
2171+
"passkeys": {},
2172+
},
21352173
},
21362174
mockedAPI: func() *auth0.API {
21372175
mockPromptAPI := mock.NewMockPromptAPI(ctrl)

0 commit comments

Comments
 (0)