Azure AD身份验证登录后返回上一页带参数

Posted

技术标签:

【中文标题】Azure AD身份验证登录后返回上一页带参数【英文标题】:Azure AD Authentication Return To Previous Page With Parameter After Login 【发布时间】:2021-02-25 06:40:44 【问题描述】:

我已经搜索过了,我的问题与此类似 question 但不幸的是,没有答案。

我要实现的流程:

    当未经授权的用户进入 https://test.com/testId=123 (123 不是静态的) 重定向到 Azure AD 身份验证页面并登录成功 返回 https://test.com/testId=123

谢谢。

【问题讨论】:

你使用 ASP.NET Core 吗?还是其他框架? 感谢您的评论。它是 asp.net mvc (C#)。 【参考方案1】:

您可以选择通过向这些端点创建请求来自己实现身份验证逻辑:

https://login.microsoftonline.com/common/oauth2/v2.0/authorize
https://login.microsoftonline.com/common/oauth2/v2.0/token

然后重定向到您在门户和代码中设置的静态 URI,只需按照 reply 即可。

如果要重定向到动态 URI,Azure AD 不支持。参考下面document:

Azure AD 应用程序现在可以注册和使用重定向(回复)URI 带有静态查询参数(例如 https://contoso.com/oauth2?idp=microsoft) 用于 OAuth 2.0 请求。 动态重定向 URI 仍然被禁止,因为它们代表了安全性 风险,并且这不能用于在整个过程中保留状态信息 身份验证请求 - 为此,请使用 state 参数。

【讨论】:

以上是关于Azure AD身份验证登录后返回上一页带参数的主要内容,如果未能解决你的问题,请参考以下文章

Azure AD 同时登录不同应用程序后用户未经授权

Blazor 使用 Azure AD 身份验证允许匿名访问

通过邮递员从 Azure 应用服务验证令牌返回 401

[Azure - Security] Azure的多重身份验证:使用AD(Azure Active Directory)开启用户MFA

401 使用 Azure AD 在 .NET Core 3.1 中仅使用不记名令牌进行身份验证

Azure AD Connect 用户登录选项介绍