我正在评估Google提供的用于在我的网络应用程序中添加Google登录的可能选项.我看到的可能选项是
我没有使用第一个,因为它限制了我可以在一天到10000的API调用
在2和3中,我倾向于获得第3名.我真的不需要API授权,在我的情况下我并不担心访问令牌过期.一旦我从Google收到用户个人资料,我的网络应用就会管理自己的用户会话,而无需向Google查询与用户相关的任何其他数据.根据Google文档,#3允许我自定义用户同意屏幕,而1和2不允许.
我对2和3之间的比较有何评论?
我有一个 ASP.NET Core Web 应用程序和 ASP.NET Core Web API,目前正在使用 IdentityServer4。
我正在添加 Xamarin Forms 应用程序(Android + iOS),但找不到任何使用 Facebook 和/或 Google 以及 IdentityServer 的 Xamarin Forms 应用程序示例。
我遇到的很多示例都使用 WebViews,我不想使用它,而是想使用本机应用程序(Facebook/Google)或移动浏览器(Chrome/Safari)来进行身份验证(取决于 Facebook/Google应用程序安装在用户设备上)。
我也对移动设备上的用户流程感到困惑,即:
我一直在使用这些信息并将我的系统基于eShopOnContainers 企业参考应用程序并使用这种微服务类型架构,唯一缺少的东西(就我而言)是社交登录,否则这种架构正是这种类型的东西我们正在建设。
facebook google-authentication oauth-2.0 xamarin identityserver4
我在 GCP Cloud Run 上部署了两个服务 (API)。打电话给他们service-one.myDomain.com和service-two.myDomain.com。我希望在调用 service-2 时对 service-one 进行身份验证,而不管任何用户在做什么。
我已阅读并实施了 GCP Cloud Run 文档中关于 Authenticating service-to-service ( https://cloud.google.com/run/docs/authenticating/service-to-service ) 的说明,但service-one.myDomain.com未能成功调用service-two.myDomain.com接收401:未经授权的响应。
关于如何service-one成功拨打电话的任何想法service-two?
在 google IAM 上,我创建了两个服务帐户并授予它们“Cloud Run Invoker” ( roles/run.invoker) 角色:
service-one@myproject.iam.gserviceaccount.com
service-two@myproject.iam.gserviceaccount.com
在 Cloud Run 中,我将服务帐户从“默认计算服务帐户”更改为我创建的服务帐户。我service-one@myproject.iam.gserviceaccount.com为service-one.myDomain.com和service-two@myproject.iam.gserviceaccount.com为service-two.myDomain.com
在service-one.myDomain.com我调用元数据服务器以从以下 url 获取令牌 (jwt):
http://metadata/computeMetadata/v1/instance/service-accounts/default/identity?audience=https://service-two.myDomain.com请求标头设置为{'Metadata-Flavor': 'Google'}请求成功并且我收到的令牌被解码为具有以下有效负载:
{
"alg": "RS256",
"kid": "9cef5340642b157fa8a4f0d874fe7543872d82db",
"typ": "JWT" …Run Code Online (Sandbox Code Playgroud) google-authentication google-oauth google-cloud-platform google-iam google-cloud-run
我以前使用过 Google Apps 脚本UrlFetchApp没有问题。
昨天我创建了一个新的,如果我包含该UrlFetchApp服务,我将无法运行任何功能——即使它被注释掉了!
当我尝试运行脚本时,我会得到通常的“权限”弹出窗口。但是当我同意时,我得到:
暂时禁用此应用的 Google 登录 此应用尚未通过 Google 验证才能使用 Google 登录。
这是个人脚本,我是唯一会使用它的人 - 我有什么选择?我不会去获取域只是为了通过验证来运行一个简单的小脚本......
google-authentication google-apps-script oauth-2.0 google-signin
我正在尝试通过IMAP连接并从Gmail检索邮件标头列表.
我收到了Google的回复,其中包含"需要Web登录",然后是一个URL,通过网络界面继续登录.记录:http://hastebin.com/odufaducew.vhdl
为什么会这样?如何处理这种情况?我正在使用适用于iOS的MailCore2 lib,如果这有帮助的话.
有没有办法通过docker run 传递我的本地google默认应用程序凭据(https://developers.google.com/identity/protocols/application-default-credentials)?
我的用例:
如果我能告诉"docker run"将主机google默认应用程序凭据传递给docker镜像,那将是很好的.
google-authentication google-cloud-platform google-cloud-sdk
这是我的代码:
var http = require('http');
var express = require('express');
var Session = require('express-session');
var google = require('googleapis');
var plus = google.plus('v1');
var OAuth2 = google.auth.OAuth2;
Run Code Online (Sandbox Code Playgroud)
这是一个错误:
Error: Cannot find module 'googleapis'
at Function.Module._resolveFilename (module.js:485:15)
at Function.Module._load (module.js:437:25)
at Module.require (module.js:513:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/home/software/Harsh Patel/test/demo_auth/server.js:4:14)
at Module._compile (module.js:569:30)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
Run Code Online (Sandbox Code Playgroud)
我试图用这些方法重新安装模块
npm install googleapis --savenpm install googleapisnpm install (将模块添加到package.json文件中)但这些方法不起作用.
我在node_modules目录中找到了googleapis模块.
ADC(应用程序默认凭据)工作流程是否仅支持 Google Cloud API(例如,支持 Google Cloud Storage API,但不支持 Google Sheet API)?
我指的是google.auth 的默认方法- 不必在代码中存储任何私钥是一个巨大的胜利,也是有效利用 ADC(应用程序默认凭据)设置的主要好处。
GOOGLE_APPLICATION_CREDENTIALS如果我将环境变量设置为私钥文件(例如 key.json),则以下代码将有效。default这与包中步骤 1 的方法一致google.auth: 1. If the environment variable GOOGLE_APPLICATION_CREDENTIALS is set to the path of a valid service account JSON private key file, then it is loaded and returned.
import google.auth
from apiclient import discovery
credentials, project_id = google.auth.default(scopes=['https://www.googleapis.com/auth/spreadsheets'])
sheets = discovery.build('sheets', 'v4', credentials=credentials)
SPREADSHEETID = '....'
result = sheets.spreadsheets().values().get(spreadsheetId=SPREADSHEETID, range='Sheet1!A:B').execute()
print result.get('values', [])
Run Code Online (Sandbox Code Playgroud)
现在,看看该方法的第 4 步: …
python google-authentication google-compute-engine google-cloud-platform google-sheets-api
我正在尝试创建一个闪亮的应用程序,该应用程序首先使用OAuth进行授权(请参阅https://developers.google.com/identity/sign-in/web/sign-in),然后获取一个令牌,并使用来访问使用googlesheets4库的Google工作表。登录过程正常进行,这意味着我可以看到我的电子邮件(以及的其他数据googleUser.getBasicProfile()。似乎没有id_token返回。)最小示例:
app.R
library(shiny)
library(shinyjs)
library(googlesheets4)
shinyApp(
ui = fluidPage(
useShinyjs(),
tags$head(tags$script(src="https://apis.google.com/js/platform.js")),
tags$meta(name = "google-signin-scope", content = "profile email"),
tags$meta(name = "google-signin-client_id", content = "<CLIENT_ID>.apps.googleusercontent.com"),
includeScript("signin.js"),
div(id = "signin", class = "g-signin2", "data-onsuccess" = "onSignIn"),
actionButton("signout", "Sign Out", onclick="signOut();", class="btn-danger"),
with(tags, dl(dt("Email"), dd(textOutput("g.email")),
dt("Token"), dd(textOutput("g.id_token"))
)),
tableOutput("df")
),
server = function(input, output) {
output$g.email = renderText({ input$g.email }) # here my email is printed in the app
output$g.id_token = renderText({ input$g.id_token}) # no …Run Code Online (Sandbox Code Playgroud) r google-authentication google-oauth shiny google-sheets-api
我正在尝试实现“使用 Google 登录”按钮,如下所述: https: //developers.google.com/identity/gsi/web/guides/display-button
我对它的期望感到困惑data-login_uri,如下所示(取自上面链接的文档):
<div id="g_id_onload"
data-client_id="YOUR_GOOGLE_CLIENT_ID"
data-login_uri="https://your.domain/your_login_endpoint"
data-auto_prompt="false">
</div>
Run Code Online (Sandbox Code Playgroud)
我已正确配置应用程序的客户端 ID,并且可以完成 Google 弹出窗口提供的大部分登录/身份验证流程。但是,一旦弹出窗口关闭,它就会尝试POST到我指定为data-login_uri.
这让我相信我们需要一个后端端点来做......某事......但我无法找到有关此端点应该如何表现的任何文档,因此我不确定有什么要求与我的后端开发人员沟通。
我错过了什么?
authentication google-authentication google-account google-client-login google-signin
google-oauth ×3
oauth-2.0 ×3
facebook ×1
gmail ×1
gmail-imap ×1
google-api ×1
google-iam ×1
imap ×1
mailcore2 ×1
node.js ×1
python ×1
r ×1
shiny ×1
xamarin ×1