【问题标题】:Specifying returnUrl with Azure AD B2C使用 Azure AD B2C 指定 returnUrl
【发布时间】:2023-04-06 21:58:01
【问题描述】:

是否可以为 Azure AD B2C 提供 returnUrl,以便在登录或注册后,如果提供了,则将用户发送回指定的 URL?

在我的应用中,用户可以向彼此或新用户发送邀请。这些邀请在包含invitationId 的特定 URL 处处理,例如https://myapp.com/invitation/48bbc1e5-dfa2-42cd-9afa-acb362415e03。如果新用户收到此邀请,我希望该用户在通过 Azure AD B2C 注册后返回此 URL,以便我可以获取并处理此邀请。

这是我可以使用 Azure AD B2C 做的事情吗?

顺便说一句:我的应用是一个带有 React 前端的 ASP.NET Core SPA 应用,所以我使用 MSAL 库来处理重定向到 Azure AD B2C 和处理 jwt 令牌。

【问题讨论】:

  • 请注意,如果将invitationId 放入路由中,您可能会遇到问题。 B2C 要求您事先设置所有可能的回复 url。您可能需要将您的 ID 存储在会话状态或类似状态中

标签: azure asp.net-core azure-ad-b2c


【解决方案1】:

如果未经身份验证的用户打开 https://myapp.com/invitation/48bbc1e5-dfa2-42cd-9afa-acb362415e0,则 MSAL 库应在处理从 Azure AD B2C 收到的身份验证响应后将经过身份验证的用户返回到同一 URL。

它在向 Azure AD B2C 发送身份验证请求之前由 writing the current URL to storage 完成:

this._cacheStorage.setItem(Constants.loginRequest, window.location.href);

然后在收到来自 Azure AD B2C 的身份验证响应后reading the original URL from storage

window.location.href = self._cacheStorage.getItem(Constants.loginRequest);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-09
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多