Articles of google signin

用于validation在GAE上运行的Go中的Google登录令牌的程序包

我已经成功地从我的网络服务器上的Android应用程序中收到了谷歌登录令牌。 我不想用 https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=XYZ123 因为它有关于延迟和潜在的网络错误的问题警告谷歌登录集成指导页面。 所以我find了使用Google API Client Library for Go的方法,我发现了这一点 https://github.com/google/google-api-go-client/blob/master/GettingStarted.md 我发现它比Java和Python Google API客户端库更复杂,我需要调用GoogleIdTokenVerifier方法或verify_id_token函数来获取已在Android应用上登录的Google用户的信息。 我不确定我是否会朝着正确的方向前进。 请指导我如何validation从Android应用收到的Google登录令牌。

在使用Google Play服务时遇到问题 – 使用GoogleApiClient时,它始终会触发onConnectionFailed

目前,我的应用正在使用 minSdkVersion 14 targetSdkVersion 23 编译’com.google.android.gms:play-services-gcm:8.4.0′ 编译’com.google.android.gms:play-services-base:8.4.0′ 编译’com.google.android.gms:play-services-analytics:8.4.0′ 编译’com.google.android.gms:play-services-ads:8.4.0′ 编译’com.google.android.gms:play-services-drive:8.4.0′ 我使用以下代码来执行GoogleApiClient连接。 public class GoogleApiClientFragment extends Fragment implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener { public interface ConnectionCallbacks { void onConnected(GoogleApiClient googleApiClient, int action); void onCancel(int action); } public static GoogleApiClientFragment newInstance(String accountName, int action) { GoogleApiClientFragment googleApiClientFragment = new GoogleApiClientFragment(); Bundle bundle = new Bundle(); bundle.putString(INTENT_EXTRA_ACCOUNT_NAME, accountName); bundle.putInt(INTENT_EXTRA_ACTION, action); […]

Gradle使用“缺少project_info对象”构建失败

您好我正在尝试在我的应用中添加“使用Google+登录”function。 我已按照https://developers.google.com/identity/sign-in/android/start-integrating中的步骤操作。 在我添加了Gradle无法构建项目的所有内容之后。 我确实试过debuging gradle,Exception如下 Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ‘:app:processDebugGoogleServices’. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35) at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64) at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53) at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:310) at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79) at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63) at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:88) at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37) at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62) at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23) at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:68) at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32) at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62) […]

谷歌在Play商店发布后登录不工作

我经历了这个过程,就过程而言,我做到了这一点。 但是当我从Play商店安装应用程序时,我无法使用google sign in按钮google sign in 。 我已经使用Firebase进行谷歌登录。当我点击登录按钮时,选择帐户的选项即将到来但是它没有登录或执行任何操作。 那么我可能在哪里出错?

无声登录以使用GoogleApiClient检索令牌

我在我的应用中使用“Google登录”。 因此,我使用GoogleApiClient类来获取用户电子邮件和我后端所需的ID令牌。 当用户登录时,我可以访问一个Activity(当然),我使用该Activity让GoogleApiClient通过调用builder.enableAutoManage(myActivity,…)来处理UI生命周期的事情。 这很好用。 但是,在稍后阶段(几天后),我需要获得一个新令牌(出于某种原因,我不会在这里进一步讨论)。 我希望在没有用户交互的情况下静默获取此令牌。 但是,在我需要这个新令牌的代码中,我无法访问任何Activity实例。 这意味着我无法进行上述调用,即“builder.enableAutoManage”。 而且我发现,如果我不打那个电话,那么静默登录似乎不起作用。 我附上了以下代码。 现在,看看“silentLogin”方法。 只要我作为用户收到的令牌执行了实际登录,小于一小时,则语句“pendingResult.isDone”将返回true并且可以接收缓存的令牌。 但是,如果我作为用户收到的令牌执行了实际登录,则超过一小时,则调用“pendingResult.setResultCallback”,但是“onResult”方法永远不会被调用,我无法获得新的令牌。 如果我从一个活动中做同样的事情(并且通过调用“builder.enableAutoManage”)也不会发生这个问题。 那么,有没有人知道我做错了什么,更重要的是 – 如何解决这个问题并获得一个新的令牌而无需访问活动实例? 我使用的是com.google.android.gms:play-services-auth:8.4.0 package com.google.samples.quickstart.signin; import android.content.Context; import android.os.Bundle; import android.util.Log; import com.google.android.gms.auth.api.Auth; import com.google.android.gms.auth.api.signin.GoogleSignInAccount; import com.google.android.gms.auth.api.signin.GoogleSignInOptions; import com.google.android.gms.auth.api.signin.GoogleSignInResult; import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.Scopes; import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.common.api.OptionalPendingResult; import com.google.android.gms.common.api.ResultCallback; import com.google.android.gms.common.api.Scope; /** * Use this class to login with google […]

谷歌signIn不在发布模式apk android

在发布模式下,我的谷歌登录无法正常工作。 但它在调试模式下工作正常。 我在这里得到了类似的qtn。 但我没有得到完美的灵魂。 我的handleSignInResult is coming false怎么办????

为什么requestIdToken返回null?

我按照以下步骤进行了此链接 我将google-services.json下载到了我的app文件夹。 我的项目级gradle文件: dependencies { classpath ‘com.android.tools.build:gradle:1.3.0’ classpath ‘com.google.gms:google-services:1.5.0-beta2’ } 我的应用级gradle文件: apply plugin: ‘com.android.application’ apply plugin: ‘com.google.gms.google-services’ dependencies { compile fileTree(include: [‘*.jar’], dir: ‘libs’) compile ‘com.google.android.gms:play-services-identity:8.3.0’ compile ‘com.google.android.gms:play-services:8.3.0’ compile ‘com.google.android.gms:play-services-plus:8.3.0’ compile ‘com.google.android.gms:play-services-auth:8.3.0’ … } 我为后端服务器创建了OAuth 2.0客户端ID,并将此客户端ID传递给strings.xml文件。 最后我创建了GoogleSignInOptions和GoogleApiClient对象,如下所示: GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) .requestEmail() .requestIdToken(getString(R.string.server_client_id)) .build(); mGoogleApiClient = new GoogleApiClient.Builder(this) .enableAutoManage(this /* FragmentActivity */, this /* […]

如何使用Google提供程序在Firebase上重新validation用户?

在Firebase中使用reauthenticate() 的示例仅显示如何重新validation使用电子邮件和密码签名的用户 : AuthCredential credential = EmailAuthProvider.getCredential(“user@example.com”, “password1234”); FirebaseAuth.getInstance().getCurrentUser().reauthenticate(credential); 我也知道如何使用Facebook Provider重新进行身份validation( credential = FacebookAuthProvider.getCredential(AccessToken.getCurrentAccessToken().toString()) )。 问题是Google API中没有等效方法来获取当前的访问令牌并最终获得AuthCredential 。 那么在这种情况下我将传递给getCredential() ?

用户从Android中的Gmail登录后如何获取访问令牌?

我正在关注Google登录Android版 。 现在我可以获得idToken但我之前使用的后端服务器期待访问令牌,因为我之前使用的是Google+登录。 现在我不想改变我的服务器端。 但是我仍然可以如何使用Google登录并在我的Android应用程序中获取访问令牌,以便我可以将我的用户validation到我的后端服务器。 我之前使用的是GooglePlay Service 7.5.0,现在我正在使用GooglePlay Service最新的8.3.0。

Android Google SignIn无法在调试模式下运行:GoogleSignInResult为false

我一直在关注本教程以启用Google SignOn: https : //developers.google.com/identity/sign-in/android/start-integrating 当我使用虚拟设备在本地运行我的应用程序时,它工作正常,但是当我通过调试将其部署到我的设备时,或者如果我生成一个已签名的jar文件并将其复制到手册,则GoogleSignInResult始终返回false并显示INTERNAL ERROR消息。 我很困难,因为在通过调试将应用程序部署到我的设备时能够使用谷歌登录很长一段时间。 任何帮助都非常感谢! 我的问题的解决方案: 在下载json文件的地方,您必须复制可以使用java密钥工具生成的代码。 我完全错过了几次。