MVC OAUTH VS2012模板,在哪里输入redirect_uri?

Joh*_*ind 8 asp.net-mvc oauth

MVC OAUTH VS2012模板VB.Net

我正在添加OAuth,以便我的用户可以通过Facebook等登录.我已经在RegisterAuth函数中输入了clientSecret和ClientID.当我运行代码时,我得到: -

输入参数'redirect_uri'的提供值无效.预期值为" https://login.live.com/oauth20_desktop.srf "或与此客户端应用程序注册的重定向URI匹配的URL."

我到处搜索,找到我输入URL的位置.我认为它是默认的"/ Account/ExternalLoginCallback",但这对外部Authorisor没用.

我认为这很明显但我只是看不到它!

谢谢约翰

Tol*_*lga 10

Lukos的答案很好,但在ASP.NET MVC 5中,我认为默认的URL重定向已经改变.

使用MVC 5(在fiddler的帮助下)我看到我们需要使用:(当然用你的网站名称替换mysite)

Root domain:
www.mysite.com

Redirect URLs:
http://www.mysite.com/signin-microsoft
Run Code Online (Sandbox Code Playgroud)

请注意重定向URL末尾所需的"/ signin-microsoft".

如果这仍然不起作用,请使用fiddler并查看来自/ Account/Login的POST,并在Response Headers中找到redirect_uri值.


Luk*_*kos 3

当您向身份提供商注册帐户时,redirect_uri 将被添加到身份提供商。发生这种情况是为了当您重定向到他们的站点进行登录时,它知道在身份验证发生后重定向回哪里。

通常在注册时始终需要 URI,以避免人们更改它并在网络钓鱼网站中使用它来窃取您的帐户。您指定的路径对于 ASP.net MVC 来说是正确的(对于 Web 表单来说是不同的),但需要是绝对路径,以便提供程序可以重定向。像这样的东西:

http://www.mysite.com/Account/ExternalLoginCallback
Run Code Online (Sandbox Code Playgroud)

请注意,某些提供商(当然是 Google)不允许此 url 为本地主机,您在本地测试站点时可能需要使用该 localhost。如果您需要这样做,您可以在本地创建一个主机条目,将 www.something.com 指向本地主机,然后在您的提供商处使用 www.something.com 注册该 URL。