小编Zat*_*tes的帖子

在 Android 上使用 Cognito 身份池通过 Google 登录

我正在尝试为我的 android 应用实现登录到谷歌。

我目前通过 AWSMobileClient.getInstance().federatedSignIn(...) 实现了使用 Facebook 登录。我没有使用托管 UI。

我通过请求从谷歌获得令牌

    GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestIdToken(getString(R.string.default_web_client_id))
            .requestEmail()
            .build();

    GoogleSignInClient mGoogleSignInClient = GoogleSignIn.getClient(requireActivity(), gso);

    googleSignInButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent signInIntent = mGoogleSignInClient.getSignInIntent();
            startActivityForResult(signInIntent, RC_SIGN_IN);
        }
    });
Run Code Online (Sandbox Code Playgroud)

一个谷歌成功认证,我调用以下方法:

private void federatedGoogle(GoogleSignInAccount account) {
    // Need to create federated sign in from aws amplify
    Log.d(TAG, "federateGoogle: " + account.getIdToken());
    AWSMobileClient.getInstance().federatedSignIn(IdentityProvider.GOOGLE.toString(), account.getIdToken(), new Callback<UserStateDetails>() {
        @Override
        public void onResult(final UserStateDetails userStateDetails) {
            Log.d(TAG, "AWS Federated GOOGLE");
        }

        @Override
        public …
Run Code Online (Sandbox Code Playgroud)

android amazon-cognito google-signin aws-amplify

5
推荐指数
0
解决办法
790
查看次数