Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.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# 在使用OAuthWebSecurity进行Google身份验证请求时,如何设置域?_C#_Asp.net Mvc_Google Openid - Fatal编程技术网

C# 在使用OAuthWebSecurity进行Google身份验证请求时,如何设置域?

C# 在使用OAuthWebSecurity进行Google身份验证请求时,如何设置域?,c#,asp.net-mvc,google-openid,C#,Asp.net Mvc,Google Openid,所以我最近遇到了一个问题,Google会根据用户登录的机器为用户返回不同的OpenId。这篇文章帮助我弄明白了为什么会这样: 我的问题是。在我的MVC4.5应用程序中使用OAuthWebSecurity时,是否需要设置域,以便无论我的应用程序的url是什么,它每次都是相同的 谢谢。我会切换到Oauth2,在那里您可以获得访问令牌,然后将其交换为用户信息,包括她的电子邮件。电子邮件不会因应用程序url的不同而变化。我不确定您是否可以检索到具有开放id的电子邮件。@Wiktor感谢您的评论。这是我考

所以我最近遇到了一个问题,Google会根据用户登录的机器为用户返回不同的OpenId。这篇文章帮助我弄明白了为什么会这样:

我的问题是。在我的MVC4.5应用程序中使用OAuthWebSecurity时,是否需要设置域,以便无论我的应用程序的url是什么,它每次都是相同的


谢谢。

我会切换到Oauth2,在那里您可以获得访问令牌,然后将其交换为用户信息,包括她的电子邮件。电子邮件不会因应用程序url的不同而变化。我不确定您是否可以检索到具有开放id的电子邮件。@Wiktor感谢您的评论。这是我考虑过的一个选项,不过我希望现在还不必重写我应用程序的身份验证部分。幸运的是,这两者没有根本的区别。相反,您只是重定向到不同的资源,然后以略微不同的方式使用响应。但是,有了这个令牌,他们的api就可以自动运行了(包括profile api)。我最后做的是在web.config中添加一个重写规则,该规则永久重定向到应用程序的域,因此,如果用户输入www.myapp.com,他们将被重定向到myapp.com,而Google OpenId API每次都将获得相同的域。这并不能回答我的问题,但它现在对我有效。我将在将来重写以使用DotNetOpenAuth,这样我就可以使用OAuth2API。