标签: google-openid

强制Google OAuth在对用户进行身份验证时请求用户名/密码

当我尝试通过Google OAuth 1.0对用户进行身份验证时,如果用户已经使用Google登录,则会自动询问他是否允许访问我的应用程序.我想强迫用户再次向Google提交他/她的凭据,因此他可能提供与他登录的帐户不同的帐户(FB和Twitter OAuth握手都有此选项).

另外,是否有一个我可以传递给Google的参数会让它意识到它在弹出窗口中,所以它可以更好地调整布局?同样,FB和Twitter采用弹出窗口的"所有权"并调整其大小,使其布局完美契合.他们也知道在弹出窗口中呈现,因此呈现了不同的布局.

谷歌似乎远远落后于它的API.我发现整体实现难以使用,XML是令人毛骨悚然的,充满了无用的数据,文档不完整,整个过程在它的服务之间,甚至在同一个服务中都不一致!

authentication oauth google-openid

4
推荐指数
1
解决办法
1782
查看次数

openid_id标识符可通过Google的OpenID连接服务获得多长时间

我们目前使用Google现已弃用的OID2服务,将用户部分验证为我们开发和维护的帐户恢复服务.我知道我们需要在2015年4月20日之前从Google迁移到新的OpenID Connect服务.迁移的一部分包括将旧的OID2哈希(我们已经存储为唯一且被认为是永久标识符)映射到可用的新sub_id值在新服务中.我们知道将openid_realm值提供给新服务将从openid_id值获取我们的OID2哈希值,以便我们可以映射到新的sub_id.由于我们强制用户每年验证其帐户恢复设置,因此我们可以强制他们在当时向Google进行身份验证.考虑到迁移的时间不到一年,到2015年4月15日将很难完成全面迁移.我们的问题是新服务中的openid_id值将为我们的领域返回旧的OID2哈希值多长时间?是否会继续关闭OID2服务?

google-openid google-oauth

4
推荐指数
1
解决办法
200
查看次数

如果用户登录多个帐户,如何在给定线程ID的情况下可靠地链接到Gmail对话?

如果您已登录多个Gmail帐户,Google会更改网址以引用您当前使用的帐户.例如:

https://mail.google.com/mail/u/0/#inbox/138d85da096d2126我的主帐户https://mail.google.com/mail/u/1/#inbox/128cfe99d055805d中的convo与另一个帐户 中的convo相比.

请注意,一个帐户/u/0在URL中有另一个帐户u/1.

我的问题是:鉴于我已使用Gmail REST API查找特定线程的ID,我该如何可靠地链接到该线程?是否有任何编程方式向Google询问用户登录的帐户,以及每个帐户属于哪个序列(0,1,2,...)?

gmail google-api google-openid google-oauth gmail-api

4
推荐指数
1
解决办法
1363
查看次数

什么返回谷歌公钥端点

我在我的应用程序中使用OpenID Connect,我从Google正确获得了JWT令牌,我需要使用Signature验证它.为实现此目的,我需要公钥,Google提供包含其所有公共证书的URL.

https://www.googleapis.com/oauth2/v3/certs

但它返回这个:

{
 "keys": [
  {
   "kty": "RSA",
   "alg": "RS256",
   "use": "sig",
   "kid": "f86c80f329b3ac69232463382fc1644167211d23",
   "n": "wItpB2JpNKNgBM-xjgFbMGLYySu0SvaSA8Ag_MpqWrlWOvWvd3JQFrNKdw1nCGrGSczP6FdCRptogSEO51UB3n1h2quH-YW3NPGt0JGqXdRARJ1I1cOVq3dvrPaZhtDcEQCBAdqEmix_ngQM5vD1t8J22JO_v_JzJlTkzfYu5dPeSoXZymtgGeofdu38L1y-FlFqD09p6IP6Fxza22cv3ST3Dsw3eQ1yzGi5YuO0scTpds0jqPAslddclo22zapqB1_6qplwunpT3qAuObYR5Xn3gPseyQiwDtIk7MpEkb_AA_r4bpUGIh9-1SX3ev8urVZJ1Sg1Y_Rr-u7oQO9pdQ",
   "e": "AQAB"
  },
Run Code Online (Sandbox Code Playgroud)

这是什么意思 ?这里的公钥或证书在哪里?

谢谢你的帮助 !

google-openid jwt openid-connect

4
推荐指数
2
解决办法
4120
查看次数

限制登录访问 - Passport.js,Google身份验证

好的,所以使用passport.js可以正常工作,而且效果很好,从我所见过的.但是,我不确定如何正确排除某些用户.如果应用程序旨在限制访问,而不是仅仅为用户提供登录方法,我如何通过passport.js限制登录?目前,用户只需访问/login并使用他们的Google帐户登录,即可访问内部.

openid google-openid node.js passport.js

3
推荐指数
1
解决办法
3452
查看次数

交换访问令牌代码时redirect_uri参数的用途是什么

我正在阅读Google有关OpenId Connect的文档 https://developers.google.com/accounts/docs/OAuth2Login

我没有得到的是"4.访问令牌和ID令牌的交换代码"期间redirect_uri参数的用途.

访问令牌在对HTTP Post请求本身的响应中返回,因此我没有达到redirect_uri的目的.

有人可以解释一下吗?

openid google-openid oauth-2.0

3
推荐指数
1
解决办法
1473
查看次数

需要澄清ID令牌的email_verified字段

我正在使用Google的OpenID Connect服务来验证用户身份.我考虑拒绝所有帐户,如果该email_verified字段是错误的,但我没有看到一个真实世界的场景,有人会在此字段设置为false的情况下点击我的系统.

当您第一次登录Google时,用户的帐户会被验证,因此从第3方应用的角度来看,它们是否始终无法验证?

google-api google-openid google-oauth

3
推荐指数
1
解决办法
1340
查看次数

如何使用id令牌的at_hash声明来验证访问令牌?

假设/token在交换从/auth端点获取的代码后,我从Google的OAuth2 端点获得以下响应(使用此示例OAuth Playground请求):

{
  "access_token": "ya29.eQETFbFOkAs8nWHcmYXKwEi0Zz46NfsrUU_KuQLOLTwWS40y6Fb99aVzEXC0U14m61lcPMIr1hEIBA", 
  "token_type": "Bearer", 
  "expires_in": 3600, 
  "refresh_token": "1/ZagesePFconRc9yQbPxw2m1CnXZ5MNnni91GHxuHm-A", 
  "id_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjJhODc0MjBlY2YxNGU5MzRmOWY5MDRhMDE0NzY4MTMyMDNiMzk5NGIifQ.eyJpc3MiOiJhY2NvdW50cy5nb29nbGUuY29tIiwic3ViIjoiMTEwMTY5NDg0NDc0Mzg2Mjc2MzM0IiwiYXpwIjoiNDA3NDA4NzE4MTkyLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiYXRfaGFzaCI6ImFVQWtKRy11Nng0UlRXdUlMV3ktQ0EiLCJhdWQiOiI0MDc0MDg3MTgxOTIuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJpYXQiOjE0MzIwODI4NzgsImV4cCI6MTQzMjA4NjQ3OH0.xSwhf4KvEztFFhVj4YdgKFOC8aPEoLAAZcXDWIh6YBXpfjzfnwYhaQgsmCofzOl53yirpbj5h7Om5570yzlUziP5TYNIqrA3Nyaj60-ZyXY2JMIBWYYMr3SRyhXdW0Dp71tZ5IaxMFlS8fc0MhSx55ZNrCV-3qmkTLeTTY1_4Jc"
}
Run Code Online (Sandbox Code Playgroud)

如何散列访问令牌以便将其at_hash与ID令牌的声明进行比较?

我可以在服务器上本地验证ID令牌以防止客户端修改,并且想要验证访问令牌是使用id令牌发出的那个(暗示受众和主题与ID令牌匹配).

google-openid google-oauth

3
推荐指数
1
解决办法
5504
查看次数

OpenID Connect Providers是否加密然后签署他们的JWT?

我的团队正在将现有产品作为OpenID Connect RP(依赖方)并使用connect2id的Nimbus JOSE + JWT库.该库支持签名和加密的JWT,但只先签名,然后加密.他们有理由不支持加密然后签名,但我们担心的是我们需要与之交互的一些OP可能会加密然后签名.

我们最初的目标是Salesforce和Google.我无法从他们的文档中确定,在担任OpenID Connect Providers时,Salesforce和Google是否使用sign-then-encrypt或encrypt-then-sign.

有人能指出我为这些OP记录的页面吗?或者它是非问题,因为没有人使用加密然后签名?谢谢.

salesforce google-openid jwt openid-connect

3
推荐指数
1
解决办法
262
查看次数

用于 JWT 验证的 Google 公钥在哪里?

我有一个 Angular11 UI 前端,使用 Google 的 RS256 身份验证

  1. import { SocialAuthService, GoogleLoginProvider, SocialUser } from 'angularx-social-login';
  2. 在app.module.ts中添加 providers: [{ id: GoogleLoginProvider.PROVIDER_ID, provider: new GoogleLoginProvider('my Google-Client-ID')}]

当 Google 向我发回 JWT 令牌时,我会将其发送到我的 NodeJS 应用程序服务器,以便为会话建立基于 JWT 的通信,因此此 NodeJS 应用程序服务器必须验证此 JWT。根据这篇angular-university.io 文章Leveraging RS256 Signatures ”部分,

最好让身份验证服务器在可公开访问的 Url 中发布 JWT 验证公钥,而不是在应用程序服务器上安装公钥。

我从 Erji 的Google Identity中找到了这个 JWK(不是 JWT)链接https://www.googleapis.com/oauth2/v3/certs。这是正确的公钥吗?

google-openid jwt angular

3
推荐指数
1
解决办法
2504
查看次数