Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET Web表单Microsoft OAuth2重定向uri问题_C#_Asp.net_Webforms_Oauth 2.0_.net 4.5 - Fatal编程技术网

C# ASP.NET Web表单Microsoft OAuth2重定向uri问题

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

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

在Azure上托管我的Web应用程序。 在上注册我的申请 account.live.com/developers/,并获取了客户端ID和密码。在该门户上,我已将重定向uri设置为http://myxyzapp.azurewebsites.net/signin-microsoft 我已将AuthConfig.cs更新为

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:太糟糕了