2017-09-15 17 views
0

我正在關注此guide,但在成功驗證電子郵件後的用戶激活步驟中,未添加jwt令牌,如here所示,但我獲得了其他一些元數據,而不是:auth0僅限邀請的應用程序JWT未附加到重定向url的末尾

http://localhost:3000/onboarding?supportSignUp=true&supportForgotPassword=true&email=mail%40test.com&message=Your%20email%20was%20verified.%20You%20can%20continue%20using%20the%20application.&success=true#

我使用Express和auth0 API的NodeJS。

+0

您是否禁用了Auth0發送的默認驗證郵件? 在示例GitHub repo中,顯示瞭如何將該令牌添加到URL中:https://github.com/auth0-samples/auth0-invite-only-sample/blob/a78916291fc3181760c8ffb09bbed521f31abae2/Analystick/Areas/Admin/Controllers/ UsersController.cs#L80-L87 –

+0

@NicoSabena感謝您的輸入 - 默認驗證電子郵件被禁用。我對你連接的代碼有點困惑,因爲它是用C#編寫的,而且我使用JS堆棧。 我設置它類似於使用sendgrid生成電子郵件驗證票並將其發送給用戶的代碼,該驗證票具有http:// localhost:3000/onboarding的'result_url'。 您是否在說我必須採取措施手動追加JWT令牌? – 0019

回答

1

您需要自己將生成的JWT添加到result_url中。

This code使用API v2創建新的電子郵件驗證票證。它將result_url參數指定爲本地/Account/Activation操作處理程序。它將generated JWT token作爲查詢字符串的一部分。

在用戶驗證他的電子郵件地址(在Auth0中)後,他將被重定向到端點result_url,查詢字符串中的令牌(示例中爲/Account/Activation?userToken=xxxx)。 This piece of code處理該端點,驗證收到的令牌並顯示允許用戶輸入密碼並POST最後激活(處理here)的視圖。

+0

非常感謝您的幫助Nico!我正在使用RS256並且無法訪問私鑰,因此我無法生成JWT,因此更改爲HS256不是一種不幸的選擇。 任何'最佳實踐'來處理這個問題? – 0019

相關問題