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值.
当您向身份提供商注册帐户时,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。