oauth2与windows live一起返回“HTTP请求被禁止与客户端身份验证方案'匿名'”

时间:2014-09-19 13:43:09

标签: google-app-engine oauth-2.0 windows-live live-sdk

我想为我的应用程序使用windows live的登录功能。 因此,我定义了一个重定向URL并创建了一个App-ID并从以下位置获得了应用程序密码:

https://account.live.com/developers/applications/create?tou=1

但每次我尝试使用我的Windows Live帐户登录我的应用程序时,都会收到以下错误消息:

  

使用客户端身份验证方案禁止HTTP请求   '匿名'。

当我查看我的应用摘要时,它看起来像:

...
Mobile Client-App or Desctopclient-App:
No

JWT-output restriction:
Yes

secure redirection:
active
...

我认为“安全重定向”是个问题。但是不可能改变这个值。 有人知道如何解决这个问题。

我在python中使用谷歌应用引擎和authomatic框架。像这样:

  

https://github.com/peterhudec/authomatic/tree/master/examples/gae/simple

===================这里有一些额外的信息================

当我点击我的应用程序上的链接登录Windows时,我被重定向到:

  

https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=12&ct=1411214956&rver=6.2.6289.0&wp=MBI_SSL&wreply=https:%2F%2Foauth.live.com%2Fauthorize%3Fscope%3Dwl.basic%252Cwl.emails%252Cwl.photos%26state%3D93df705504af6a4cf653a4d061%26redirect_uri%3Dhttp%253A%252F%252myLoginTestApp.appspot.com%252Flogin%252Fwl%26response_type%3Dcode%26client_id%3D00000000........%26auth_redirect%3Dtrue&lc=1031&id=276649&popupui=1

(其中.........是我的App-ID)如果我使用用户名和密码登录,则以错误结束。

此应用的Google开发者控制台日志如下所示:

  1. authomatic:WindowsLive:启动OAuth 2.0授权程序。
  2. authomatic:WindowsLive:将用户重定向到https://oauth.live.com/authorize?scope=wl.basic%2Cwl.emails%2Cwl.photos&state=93df705504af6a4cf653a4d061&redirect_uri=http%3A%2F%2FmyLoginTestApp.appspot.com%2Flogin%2Fwl&response_type=code&client_id=00000000 .........
  3. / login / wl?error = server_error& error_description =%20HTTP%20request%20was%20forbidden%20with%20client%20authentication%20scheme%20'Anonymous'。& state = 93df7055aaaf6a4cf653a4d061 someIp - - [20 / Sep / 2014:05:20:07 -0700]“GET /login/wl?error=server_error&error_description=The%20HTTP%20request%20was%20forbidden%20with%20client%20authentication%20scheme%20\'Anonymous\'.& state = 93df7055aaaf6a4cf653a4d061 HTTP / 1.1“200 331 - ”Mozilla / 5.0(Windows NT 6.1; rv:32.0)Gecko / 20100101 Firefox / 32.0“”myLoginTestApp.appspot.com“ms = 60 cpu_ms = 0 cpm_usd = 0.000037 instance = .. .someInstanceId ... app_engine_release = 1.9.11
  4. authomatic:WindowsLive:报告的抑制异常:FailureError(u“HTTP请求被禁止使用客户端身份验证方案'匿名'。”)!

1 个答案:

答案 0 :(得分:1)

这是因为Windows Live更改了他们的OAuth 2.0端点。 http://msdn.microsoft.com/en-us/library/hh243647.aspx

我可以从日志中看到您正在使用的Authomatic我是其维护者。新端点已在Authomatic 0.0.9中修复。