OAuth与Microsoft不能正常工作

OAuth与Microsoft不能正常工作,oauth,microsoft-live-connect,Oauth,Microsoft Live Connect,我基于VisualStudio2012 Web应用程序模板创建了一个Web应用程序,并尝试测试添加了OOB的OAuth。我转到以下链接以注册我的应用程序并获得客户id OpenAuth.AuthenticationClients.AddMicrosoft始终生成:为输入参数“redirect_uri”提供的值无效。该值必须是方案为http://或https://的绝对URL 但是如果我遵循本文,我可以毫无问题地登录。(通过添加iframe等) 简短回答: 1) 更新主机文件,添加行:“127.

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

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

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


简短回答

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

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

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

4) 使用Microsoft登录

这对我很管用

长答案:

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


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

简短回答

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

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

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

4) 使用Microsoft登录

这对我很管用

长答案:

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

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

步骤:

  • 请将您的申请注册到:,请参阅
  • 在API配置下,输入根域,例如:
  • www.yourdomain.com

  • 在API配置下,输入应用程序URL。不要忘记包括:帐户/注册外部登录
  • www.yourdomain.com/YourApp/Account/RegisterExternalLogin

  • 编辑AuthConfig.vb,取消注释OpenAuth.AuthenticationClients.AddMicrosoft,并从Windows Live应用程序管理站点复制您的客户端ID客户端机密

    OpenAuth.AuthenticationClients.AddMicrosoft(
        clientId:="0000000000000", 
        clientSecret:="x0-0000000000000000")
    
  • 在www.yourdomain.com/YourApp中发布您的应用程序

  • 注意:不要忘记在Web.config(默认连接)

    步骤中更新您的连接字符串:

  • 请将您的申请注册到:,请参阅
  • 在API配置下,输入根域,例如:
  • www.yourdomain.com

  • 在API配置下,输入应用程序URL。不要忘记包括:帐户/注册外部登录
  • www.yourdomain.com/YourApp/Account/RegisterExternalLogin

  • 编辑AuthConfig.vb,取消注释OpenAuth.AuthenticationClients.AddMicrosoft,并从Windows Live应用程序管理站点复制您的客户端ID客户端机密

    OpenAuth.AuthenticationClients.AddMicrosoft(
        clientId:="0000000000000", 
        clientSecret:="x0-0000000000000000")
    
  • 在www.yourdomain.com/YourApp中发布您的应用程序

  • 注意:不要忘记在Web.config中更新您的connectionString(默认连接)