C# ASP.NET Web表单Microsoft OAuth2重定向uri问题
我使用VS2013中提供的标准模板创建了一个新的WebForms应用程序。我需要将Microsoft身份验证集成到其中。在浏览了许多教程/博客之后,我终于 在Azure上托管我的Web应用程序。 在上注册我的申请 account.live.com/developers/,并获取了客户端ID和密码。在该门户上,我已将重定向uri设置为http://myxyzapp.azurewebsites.net/signin-microsoft 我已将AuthConfig.cs更新为C# ASP.NET Web表单Microsoft OAuth2重定向uri问题,c#,asp.net,webforms,oauth-2.0,.net-4.5,C#,Asp.net,Webforms,Oauth 2.0,.net 4.5,我使用VS2013中提供的标准模板创建了一个新的WebForms应用程序。我需要将Microsoft身份验证集成到其中。在浏览了许多教程/博客之后,我终于 在Azure上托管我的Web应用程序。 在上注册我的申请 account.live.com/developers/,并获取了客户端ID和密码。在该门户上,我已将重定向uri设置为http://myxyzapp.azurewebsites.net/signin-microsoft 我已将AuthConfig.cs更新为 public stati
public static void RegisterOpenAuth()
{
OpenAuth.AuthenticationClients.AddMicrosoft(
clientId: "----MyClientID----",clientSecret: "----MyClientSecret----");
}
但是,当我运行应用程序并输入我的Microsoft凭据登录时,我会收到错误消息:Microsoft帐户遇到技术问题。请稍后再试。
响应头显示:为输入参数“redirect_uri”提供的值无效。预期值为'https://login.live.com/oauth20_desktop.srf'或与为此客户端应用程序注册的重定向URI匹配的URL
有人能告诉我应该在哪里指定这个重定向uri吗?我在SO和其他论坛上遇到过许多类似的问题,但没有得到任何涉及WebForms和Microsoft OAuth2的具体答案。使用您的Microsoft帐户登录并转到此处 选择您的应用程序或创建一个新的应用程序 然后按编辑设置和API设置
然后,您将在右侧窗格中找到重定向URL:字段我已经有了重定向uri。我想知道在ASP.NET代码中应该在哪里使用它?在Microsoft.Owin.Security.MicrosoftAccount.dll程序集中有MicrosoftAccountAuthenticationExtensions,它为IAppBuilder接口定义了两种扩展方法,其中一种允许您传递具有CallbackPath属性的MicrosoftAccountAuthenticationOptions。我想,如果您不想使用默认的回调地址,您可以在那里定义回调地址。无论如何,默认值已经是/signin microsoftanyway,如果您在开发环境中测试它,您应该配置您的本地web服务器在redirect_uri属性中注册的域上响应,并更改主机文件,以便在本地进行环回。不幸的是,localhost不是microsoft服务的有效重定向uri:太糟糕了