我正在使用
Auth0
在 React + C# asp.net core 页面上进行身份验证。
我希望用户单击“注册”,然后将他们定向到 Auth0 通用注册页面。我可以使用以下代码将用户引导至登录页面:
await loginWithRedirect({
appState: { targetUrl: location.pathname || window.location.pathname },
});
使用示例react-auth0-spa.js和@auth0/auth0-spa-js库。
但是,我在网上看不到任何有关如何将用户直接引导到注册(而不是登录)页面的示例。
我知道这是一个非常老的问题,但我自己使用
auth0-spa-js
客户端也遇到了完全相同的问题,所以希望其他人会偶然发现这个答案并发现它有用。
解决方案是将
screen_hint
参数传递给 loginWithRedirect
方法,如下所示:
loginWithRedirect({screen_hint: 'signup'});
看起来他们又更改了(截至 2023 年 7 月 5 日)。要直接导航到登录的“注册”部分,您需要使用授权参数。
loginWithRedirect({
authorizationParams: {
'screen_hint': 'signup',
}});
感谢本文。
前面的两个答案分别指的是我们 SDK 的 v1 和 v2。我们在 2022 年的
v2中引入了新参数
authorizationParams
,以便更好地构建这些参数并留出改进空间,例如您自己的自定义参数。这一重大更改记录在我们的版本迁移指南中。
对 v2 文档中的其他答案进行一些扩展:
await client.loginWithRedirect({
appState: {
key: value // state to restore when getting redirected back
},
authorizationParams: {
screen_hint: 'signup',
any_custom_property: 'value'
}
});