【问题标题】:Return User to Requested URL after Authentication Azure AD身份验证 Azure AD 后将用户返回到请求的 URL
【发布时间】:2019-07-22 15:58:12
【问题描述】:

我正在改造旧版 Webforms 项目以使用 Azure AD 进行身份验证。我有一个使用 ConfigureAuth 创建的 startup.cs,并且该应用程序已在 Azure 中注册。一切都适用于身份验证,但我在文档中找不到有关设置返回 URL 的任何地方。 Azure 让你设置了回复 URL,但它们会转到主页。如果用户正在导航到主页,那就太好了,但如果他们要去 /example-page,我希望他们被重定向回那个而不是主页。

简而言之,当用户导航到 example.com/example-page 时,我希望他们在身份验证后被重定向到 example.com/example-page 而不是 example.com。

【问题讨论】:

    标签: c# .net azure webforms azure-active-directory


    【解决方案1】:

    您可以在门户中设置Redirect URI与特定页面,然后在您的认证url中,指定该页面的redirect_uri,它将重定向到认证后的页面。

    1.导航到门户中的Azure Active Directory -> 在App registrations 中选择您的应用-> Authentication,设置重定向网址,例如https://test.azurewebsites.net/callback.html.

    2.在您的授权网址中,将redirect_uri设置为https://test.azurewebsites.net/callback.html(网址编码),注意网址必须是门户中的Redirect URIs之一。

    示例:

    https://login.microsoftonline.com/<tenant id>/oauth2/authorize
    ?client_id=ef92a29b-b332-9d43-1341-23326315fa42
    &response_type=id_token+token
    &redirect_uri=https%3a%2f%2ftest-babel.azurewebsites.net%2Fcallback.html
    &state=12345
    &nonce=678910
    &resource=https%3A%2F%2Fgraph.microsoft.com%2F
    

    【讨论】:

    • 我希望避免硬编码回调 url,而是让用户在通过身份验证之前重定向回他们试图去的任何地方。我想我必须创建一个回调 url 来查找cookie 或类似内容中的目的地。
    【解决方案2】:

    当您创建授权请求时,您可以传递自定义参数。 您可以通过这种方式处理“状态”或“随机数”:

    1. 随机生成UNIQUE_ID
    2. Session 中添加一个key,其中包含一个包含此ID 和当前页面URL 的对象(即returnUrl
    3. 在授权请求中传递UNIQUE_ID,如下所示:

    https://login.microsoftonline.com//oauth2/authorize?client_id=ef92a29b-b332-9d43-1341-23326315fa42&response_type=id_token+token&redirect_uri=https%3a%2f%2ftest-babel.azurewebsites.net%2Fcallback.html&nonce=678910&resource=https% %2F%2Fgraph.microsoft.com%2F&state=[UNIQUE_ID]

    1. 当您收到redirect_uri 的回复时,您应该会收到UNIQUE_ID 的回复
    2. Session 中查找您的自定义key,如果存在(应该),首先检查UNIQUE_ID 是否与响应匹配,然后登录用户,然后检索returnUrl 并执行重定向

    【讨论】:

      猜你喜欢
      • 2020-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-15
      • 1970-01-01
      • 2016-12-24
      • 2019-06-25
      相关资源
      最近更新 更多