标签: google-authentication

GoogleAuthUtil无法解析

我在Android应用程序中使用Google Play服务授权和GoogleAuthUtil.我做了这个部分大约2个月前,它一直工作得非常好,然后继续.昨天,我更新了SDK.现在我在我的应用程序中收到此错误.它说"GoogleAuthUtil无法解决".
更新的SDK中有什么变化吗?
我怎么解决这个问题?

我正在导入以下内容:

import com.google.android.gms.auth.GoogleAuthException;
import com.google.android.gms.auth.GoogleAuthUtil;
import com.google.android.gms.auth.GooglePlayServicesAvailabilityException;
import com.google.android.gms.auth.UserRecoverableAuthException.
Run Code Online (Sandbox Code Playgroud)

我正进入(状态

com.google.android.gms.auth无法解析.

android google-authentication google-play-services

2
推荐指数
1
解决办法
6952
查看次数

如何使用网站上的Google帐户登录

你如何在你的网站上使用谷歌按钮登录?iv一直试图找到我的问题的答案,我永远无法得到正确的答案.所以我要问的是,你有一个谷歌登录按钮.它会将您转到他们的登录页面.用户登录然后让我的网站说他们使用谷歌帐户登录.

html javascript css sign google-authentication

2
推荐指数
1
解决办法
2341
查看次数

在 Google 表格应用程序中进行身份验证

我有一个类似批处理的应用程序,它由调度程序定期调用,不涉及任何人类用户。它使用 Perl Net::Google::Spreadsheets包通过从数据库获取的数据更新Google 表格电子表格中的某些单元格。

长期以来,只需向包的“新”方法提供用户名和密码即可轻松验证自身。但最近,谷歌要求我们使用 OAuth2 协议进行身份验证。

JT提供了一个解决方案,我确信它对许多比我知识渊博的人非常有帮助。但是,如果有人可以回答一些问题以澄清它,我将不胜感激,如下所示:

  1. 创建凭据:在 Google Developer Console 中创建项目并要求创建新的客户端 ID 后,您会看到三个选项:

    • 对于“Web 应用程序”(然后要求提供“授权的 JavaScript 来源”和“授权的重定向 URI”。这些与我的情况有关吗?)
    • 对于“服务帐户”(我怀疑这是我的选择,但没有以下问题的答案,我无法验证。)
    • 对于“已安装的应用程序”(有人可以举例说明吗?)

    五月的申请我应该选择哪一个?

  2. 我应该要求 JSON 还是 P12 密钥?

  3. 我如何处理我获得的各种类型的实体?我在 Perl 脚本中嵌入了什么?

  4. 在第 13 行,JT 评论说“您需要将代码放在这里并接收令牌”。什么样的代码?做什么?

  5. 由于没有人类用户,我需要应用程序自己完成完整的身份验证过程。JT 的代码提示用户输入“代码”。此代码是“凭证”实体之一吗?我该怎么做?

换句话说,我需要有人轻轻地引导我一步一步地完成整个过程。

谢谢各位!

梅尔G

perl google-authentication

2
推荐指数
1
解决办法
2844
查看次数

发布,调试版本和授权Google?

在这里,我通过Google下载了源代码(来自Google的教程)授权。

如果运行调试版本,则一切都会按计划进行。但是,如果您安装并运行发行版,则它无法在仿真器或真实电话上运行。告诉我是什么问题?可能是SHA1的问题。当我做“渐变”->“ signingReport”。我得到以下内容:

Variant: releaseUnitTest
Config: none
----------
Variant: debugUnitTest
Config: debug
Store: C:\Users\******\.android\debug.keystore
Alias: AndroidDebugKey
MD5: <some code****>
SHA1: <some code*****>
Valid until: <date***>
----------
Variant: release
Config: none
----------
Variant: debugAndroidTest
Config: debug
Store: C:\Users\******\.android\debug.keystore
Alias: AndroidDebugKey
MD5: <some code****>
SHA1: <some code*****>
Valid until: <date***>
----------
Variant: debug
Config: debug
Store: C:\Users\******\.android\debug.keystore
Alias: AndroidDebugKey
MD5: <some code****>
SHA1: <some code*****>
Valid until: <date***>
Run Code Online (Sandbox Code Playgroud)

另外,还有人说第二件事:

该发行版不起作用,因为未在开发者控制台中注册其他人签署的证书及其指纹。

但是我不明白这意味着什么。

authentication debugging android release google-authentication

2
推荐指数
1
解决办法
2166
查看次数

尝试在 Docker 中使用 google OAuth2 时没有名为“请求”的模块

我正在尝试将 google OAuth 用于我的网络应用程序。为此,我在我的 venv 和 Docker 构建期间安装了 google-api-python-client 和 google-auth 包(来自 requirements.txt)。尽管如此,当我运行我的应用程序时,它找不到请求模块,抱怨说:

flask.cli.NoAppException: While importing "debateit", an ImportError was raised:

Traceback (most recent call last):
  File "/usr/local/lib/python3.5/site-packages/google/auth/transport/requests.py", line 23, in <module>
    import requests
ImportError: No module named 'requests'
Run Code Online (Sandbox Code Playgroud)

导入如下:

from google.auth.transport import requests
Run Code Online (Sandbox Code Playgroud)

并使用如下:

idinfo = id_token.verify_oauth2_token(token, requests.Request(), app.config["GOOGLE_LOGIN_CLIENT_ID"])
Run Code Online (Sandbox Code Playgroud)

其他导入,如 id_token.verify_oauth2_token 工作正常。

我检查了我的 docker build,它说我已经正确地包含了 google-auth:

Installing collected packages: ... google-auth, httplib2, google-auth-httplib2, google-api-python-client
Successfully installed ... google-api-python-client-1.7.3 google-auth-1.5.0 google-auth-httplib2-0.0.3 httplib2-0.11.3 ...
Run Code Online (Sandbox Code Playgroud)

当我查看 venv 时,我可以清楚地看到 google.auth.transport.requests 模块,它只是在应用程序本身中不起作用。

我错过了什么?什么可能导致找不到此模块?

python google-authentication docker

2
推荐指数
1
解决办法
4572
查看次数

使用 Postman 的服务帐户对 Google Cloud Storage JSON API 进行身份验证

我们正在尝试将服务帐户身份验证与我们的后端服务结合使用,以使用 Google Cloud Storage JSON API。但无法确切地找出应该如何完成。我们找到了与 Client Libs 一起使用的示例,但我们正在使用 REST API。有人可以向我解释如何在 POSTMAN 中设置服务帐户身份验证吗?

google-api google-authentication google-cloud-storage

2
推荐指数
1
解决办法
2295
查看次数

GoogleAuthProvider在Web应用程序中给出错误“ this.ta不是函数”

我正在尝试在Web应用程序中设置Google身份验证。我在Android应用程序上做了几次这种事情,但是现在当我加载我的应用程序时,出现错误“ this.ta不是函数”。也许它有些愚蠢,但我无法发现问题。这是我所拥有的:

api.js

import { db, storage, auth, google_provider } from './firebase'
sign_in() {
    auth.signInWithPopup(google_provider).then(result => {
        var token = result.credential.accessToken;
        var user = result.user;
    }).catch(error => {
        var errorCode = error.code;
        var errorMessage = error.message;
        var email = error.email;
        var credential = error.credential;
    })
}
Run Code Online (Sandbox Code Playgroud)

firebase.js

import * as firebase from 'firebase';
const app = firebase.initializeApp({
    apiKey: "my-key",
    authDomain: "domain",
    databaseURL: "https://domain-url",
    projectId: "name",
    storageBucket: "bucket",
    messagingSenderId: "id"
})

export const db = app.firestore()
export const storage = app.storage().ref() …
Run Code Online (Sandbox Code Playgroud)

javascript google-authentication firebase

2
推荐指数
1
解决办法
825
查看次数

如何使用服务帐户凭据初始化 Google Cloud Storage NodeJS 客户端库

所以我有服务帐户凭据 json(作为字符串,或我的代码中的 json 对象):

{
  "type": "service_account",
  "project_id": "myproject",
  "private_key_id": "lkjshdjhskas",
  //.... etc
}
Run Code Online (Sandbox Code Playgroud)

然后我有这个简单的云存储上传片段:

const {Storage} = require('@google-cloud/storage');

const creds = {service_account_object:"creds are here"};

const storage = new Storage();

const bucketName = 'my-bucket';
const filename = 'my-file.txt';

storage.bucket(bucketName).upload(filename, {
  gzip: true,
  metadata: {
    cacheControl: 'public, max-age=31536000',
  },
});
Run Code Online (Sandbox Code Playgroud)

这给了我一个 invalid_grant 错误,当然:

(node:15920) UnhandledPromiseRejectionWarning: Error: invalid_grant
    at Gaxios.request (C:\Users\Yuri\Documents\Code\btests\node_modules\gaxios\build\src\gaxios.js:70:23)
    at process._tickCallback (internal/process/next_tick.js:68:7)
(node:15920) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a …
Run Code Online (Sandbox Code Playgroud)

google-authentication node.js google-cloud-storage google-cloud-platform

2
推荐指数
1
解决办法
1246
查看次数

库 expo-google-sign-in 中的 GoogleSignIn.signInAsync() 在 Android 上解析为 undefined

一些细节:

  • 我正在使用expo,更具体地说是expo SDK 35
  • 我正在使用图书馆expo-google-sign-in
  • 该功能似乎适用于 IOS,但不适用于 Android。
  • 这是一个托管的博览会应用程序,而不是一个裸/弹出的应用程序。

在 Android 上,当我调用 GoogleSignIn.signInAsync() 时,对话出现,并且似乎按预期工作,但函数返回的承诺解析为undefined

这是我的代码的简化摘录(我不显示警报和其他各种我认为不是我的问题/问题核心的东西):

import * as GoogleSignIn from 'expo-google-sign-in'

...

let clientId = *cencored*
// If I understand the documentation correctly this parameter
// isn't really necessary on Android, but I've provided one anyway.
// Actually, I've tried several different ones.

await GoogleSignIn.initAsync({
    clientId,
    scopes: ['profile', 'email']
})

await GoogleSignIn.askForPlayServicesAsync()

const result = await GoogleSignIn.signInAsync()
// ^ dialogue opens and …
Run Code Online (Sandbox Code Playgroud)

android google-authentication react-native google-signin expo

2
推荐指数
1
解决办法
3025
查看次数

Google Cloud Run:从 GCP 外部调用

我正在尝试访问安全的云运行服务。如果我在我的机器上使用 SDK 尝试它工作正常:

curl --header "Authorization: Bearer $(gcloud auth print-identity-token)"

但是,我无法使用 Python API 使用相同的服务帐户使其工作,我尝试使用 google-auth 获取访问令牌,但这给了我 401 身份验证错误。这是我用来尝试获取令牌的代码:

import google.auth
import google.auth.transport.requests

scopes = ['https://www.googleapis.com/auth/cloud-platform']

creds, projects = google.auth.default(scopes=scopes)
auth_req = google.auth.transport.requests.Request()
creds.refresh(auth_req)

# then using creds.token 
Run Code Online (Sandbox Code Playgroud)

查看文档:https : //cloud.google.com/run/docs/authenticating/service-to-service#calling_from_outside_gcp它说要遵循此处的示例代码:https : //cloud.google.com/iap/docs /authentication-howto#iap_make_request-python我似乎无法按照指南进行操作,因为它说启用 IAP 但似乎 IAP 仅适用于应用程序引擎而不适用于云运行?

有没有人对此有任何建议?

谢谢

python google-authentication google-cloud-platform google-cloud-run

2
推荐指数
1
解决办法
1557
查看次数