与Microsoft无法正常工作的OAuth

时间:2012-10-29 22:12:23

标签: oauth microsoft-live-connect

我创建了一个基于Visual Studio 2012 Web应用程序模板的Web应用程序,并尝试测试添加了OOB的OAuth。我转到以下链接注册我的应用程序并获得客户端ID。

https://manage.dev.live.com/Applications/Index

OpenAuth.AuthenticationClients.AddMicrosoft始终生成:输入参数“redirect_uri”的提供值无效。该值必须是绝对URL,其方案为http://或https://。

但如果我遵循这篇文章,我可以毫无问题地登录。 (通过添加iframe等)

http://weblogs.asp.net/dwahlin/archive/2007/08/17/integrate-windows-live-id-authentication-into-your-website.aspx

2 个答案:

答案 0 :(得分:1)

简短回答

1)更新您的主机文件,添加以下行:“127.0.0.1 mynewApplication.test”

2)在manage.dev.live.com中将“重定向域”设置为http://mynewApplication.test:[PORT]

3)在本地运行您的应用程序,确保您的浏览器中有http://mynewApplication.test:[PORT]

4)使用Microsoft登录

这对我来说很好。

答案很长:

看起来您必须在Ms应用程序管理工具中将“重定向域”指定为某个唯一的域名,如果您在本地测试应用程序,则必须在主机文件中维护该域名。他们不允许再设置像“localtest.me”这样的共享域名。

如果您查看提琴手,您会看到MVC将引用URL(您在浏览器中看到的当前URL)添加到oauth请求中。因此,当您发送单击按钮将您重定向到Microsoft oauth时,请确保您的浏览器从同一域名加载当前页面,该域名已在App Redirect域中注册。

答案 1 :(得分:0)

步骤:

  1. Windows Live application management site注册您的申请,请参阅Registering Your Application with Windows Live
  2. 在“API配置”下,输入您的根域,例如:
  3.   

    www.yourdomain.com

    1. 在“API配置”下,输入您的应用程序URL。不要忘记包括:帐户/注册外部登录
    2.   

      www.yourdomain.com/YourApp/Account/RegisterExternalLogin

      1. 修改AuthConfig.vb,取消注释 OpenAuth.AuthenticationClients.AddMicrosoft 并从 Windows Live应用程序管理网站复制 clientId 和<强> clientSecret

        OpenAuth.AuthenticationClients.AddMicrosoft(
            clientId:="0000000000000", 
            clientSecret:="x0-0000000000000000")
        
      2. 在www.yourdomain.com/YourApp

      3. 上发布您的申请

        PS。不要忘记在 Web.config (DefaultConnection)中更新您的connectionString

相关问题