为什么重定向 URL 在 Azure AD B2C 中是完全限定的?

2024-02-05

为什么重定向网址 https://learn.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-app-registration#register-a-web-app必须完全匹配吗?域级别的匹配不足以保证适当的安全性吗?

如果我有数百条路径怎么办?

示例网址:

  1. https://myawesomesite.com https://myawesomesite.com
  2. https://myawesomesite.com/account/profile https://myawesomesite.com/account/profile
  3. https://myawesomesite.com/games/fungame/points https://myawesomesite.com/games/fungame/points
  4. https://www.myawesomesite.com/games/fungame/points https://www.myawesomesite.com/games/fungame/points

...

我必须将上述 4 个重定向网址输入到我的 B2C 应用程序配置中。


所有身份验证请求通常(也是最简单的)包含两个重定向 URL:

  1. 一(通常称为回复网址)在“redirect_uri”参数中传递,其中must be向 Azure AD B2C 注册,其中all身份验证响应从 Azure AD B2C 返回到依赖方应用程序。一个例子是https://www.myawesomesite.com/oidc-signin.
  2. 另一种(通常称为返回网址)在“state”参数中往返,其中不一定是向 Azure AD B2C 注册,在依赖方应用程序处理身份验证响应后,最终用户将返回到该帐户。一个例子是https://www.myawesomesite.com/games/fungame/points.

身份验证处理程序,例如ASP.NET Core 身份验证中间件 https://github.com/aspnet/Security/tree/dev/src/Microsoft.AspNetCore.Authentication.OpenIdConnect,为您管理这些重定向 URL。

例如,当身份验证处理程序创建身份验证请求时,它会对当前受保护的 URL 进行编码(例如https://www.myawesomesite.com/games/fungame/points)在“state”请求参数中。

为了确保此 URL 不被篡改,应使用加密或签名来保护“state”参数。

当身份验证处理程序处理身份验证响应时,假设它是成功的响应,它会创建一个身份 cookie 并将最终用户重定向到https://www.myawesomesite.com/oidc-signin到“state”响应参数中最初受保护的 URL。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么重定向 URL 在 Azure AD B2C 中是完全限定的? 的相关文章

随机推荐