为什么Azure AD B2C中的重定向URL完全合格?

时间:2017-11-27 22:04:07

标签: azure-ad-b2c

为什么redirect URL必须完全匹配?在域级别进行匹配是否足以获得适当的安全性?

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

示例网址:

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

    我必须将上面的4个重定向网址输入我的B2C应用配置。

1 个答案:

答案 0 :(得分:10)

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

  1. 在" redirect_uri"中传递的一个(通常称为回复网址)参数,必须在Azure AD B2C中注册,所有身份验证响应从Azure AD B2C返回到依赖方应用程序。一个例子是https://www.myawesomesite.com/oidc-signin
  2. 在"状态"中往返的另一个(通常称为返回网址)参数,不必在Azure AD B2C中注册,在依赖方应用程序处理完认证响应后,最终用户将返回该参数。一个例子是https://www.myawesomesite.com/games/fungame/points
  3. 身份验证处理程序(例如the ASP.NET Core authentication middleware)会为您管理这些重定向网址。

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

    为确保此网址未被篡改,"状态"应使用加密或签名保护参数。

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