Bog*_* M. 16 authentication android firebase
我正在尝试添加对作为Play服务8.3.0的一部分宣布的新Google登录的支持.我成功配置了项目,并且我从GoogleApiClient获取了一个令牌,但Firebase Invalid Credentials error
在调用时
返回了一个令牌
ref.authWithOAuthToken("google", token)
Google+登录正在运行,但这需要单独的许可,这对于Marshmallow开发来说是一种痛苦. Firebase安卓教程有一个Google+登录示例,我的感觉是他们还没有支持新的Google登录.
有没有人尝试过与Firebase相关的新Google登录并让它发挥作用?
Fra*_*len 28
这是向Android添加登录和使用Google for REST API授权的步骤的混合.
一旦你有一个GoogleSignInResult你可以从该帐户名称,然后请求令牌的最小范围:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...);
if (requestCode == RC_SIGN_IN) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
GoogleSignInAccount acct = result.getSignInAccount();
String email = acct.getEmail();
// TODO: run an async task to get an OAuth2 token for the account
}
}
Run Code Online (Sandbox Code Playgroud)
异步任务需要请求这些范围:
protected String doInBackground(String... params) {
String scopes = "oauth2:profile email";
String token = GoogleAuthUtil.getToken(getApplicationContext(), email, scopes);
// exception handling removed for brevity
return token;
}
Run Code Online (Sandbox Code Playgroud)
现在,您可以像往常一样使用令牌登录Firebase:
ref.authWithOAuthToken("google", token, new Firebase.AuthResultHandler() {...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9271 次 |
| 最近记录: |