【问题标题】:ASP.NET Web Forms Microsoft OAuth2 redirect_uri issueASP.NET Web 窗体 Microsoft OAuth2 redirect_uri 问题
【发布时间】:2015-03-25 19:01:25
【问题描述】:

我使用 VS2013 中提供的标准模板创建了一个新的 WebForms 应用程序。我需要将 Microsoft 身份验证集成到其中。在浏览了许多教程/博客后,我终于..

  1. 在 Azure 上托管了我的 webapp。
  2. 注册我的应用程序 account.live.com/developers/ 并获得了 Client IDSecret。在该门户上,我已将 redirect_uri 设置为 http://myxyzapp.azurewebsites.net/signin-microsoft
  3. 我已将 AuthConfig.cs 更新为..

    public static void RegisterOpenAuth()
    {  
    OpenAuth.AuthenticationClients.AddMicrosoft(  
    clientId: "----MyClientID----",clientSecret: "----MyClientSecret----"); 
    }
    

但是,当我运行应用程序并输入我的 Microsoft 凭据登录时,我收到错误消息:Microsoft 帐户遇到技术问题。请稍后再试。
响应头说:The provided value for the input parameter 'redirect_uri' is not valid. The expected value is 'https://login.live.com/oauth20_desktop.srf' or a URL which matches the redirect URI registered for this client application.

有人可以指导我在哪里指定这个 redirect_uri 吗?我在 SO 和其他论坛上经历了许多类似的问题,但没有得到任何涉及 WebForms 和 Microsoft OAuth2 的具体答案。

【问题讨论】:

    标签: c# asp.net webforms oauth-2.0 .net-4.5


    【解决方案1】:

    使用您的 microsoft 帐户登录并转到此处 https://account.live.com/developers/applications/ 选择您的应用程序(或创建一个新应用程序) 然后按“编辑设置”和“API 设置” 然后,您将在右侧窗格中找到“重定向 URL:”字段

    【讨论】:

    • 我已经有了redirect_uri。我想知道在 ASP.NET 代码中应该在哪里使用它?
    • 在 Microsoft.Owin.Security.MicrosoftAccount.dll 程序集中有 MicrosoftAccountAuthenticationExtensions,它为 IAppBuilder 接口定义了两个扩展方法,其中一个允许您传递具有 CallbackPath 属性的 MicrosoftAccountAuthenticationOptions。我想你可以在那里定义回调地址,以防你不想使用默认地址。反正默认的已经是 /signin-microsoft
    • 无论如何,如果您在开发环境中对其进行测试,您应该配置您的本地 Web 服务器以响应在 redirect_uri 属性中注册的域,并更改主机文件以便在本地环回。不幸的是 localhost 不是微软服务的有效重定向 uri :( 太糟糕了
    猜你喜欢
    • 1970-01-01
    • 2020-05-22
    • 2012-09-23
    • 1970-01-01
    • 2019-05-22
    • 1970-01-01
    • 1970-01-01
    • 2016-09-20
    • 2017-06-18
    相关资源
    最近更新 更多