我已经将Firebase身份验证与Web SDK集成在一起。除雅虎以外的所有其他提供商都可以正常工作。使用 Yahoo I 登录的 OAuth 收到如下所示的响应:
{
"error": {
"code": 400,
"message": "INVALID_IDP_RESPONSE : Remote site 5XX from yahoo.com for CODE_EXCHANGE",
"errors": [
{
"message": "INVALID_IDP_RESPONSE : Remote site 5XX from yahoo.com for CODE_EXCHANGE",
"domain": "global",
"reason": "invalid"
}
]
}
}
我遇到了同样的问题。为了修复它,我做了两件事:
-
当您创建雅虎应用程序时 - 在:https://developer.yahoo.com/apps/create/- 您必须检查此 API权限:个人资料(社交目录(/读取公开扩展
-
该权限对应于 sdpp-r 作用域,您必须在客户端上声明该作用域:
var provider = new firebase.auth.OAuthProvider('yahoo.com'); provider.addScope('sdpp-r');
这将为您提供已登录Yahoo用户的电子邮件地址,如下所示:https://developer.yahoo.com/oauth/social-directory-eol/