标签: google-openid

我只需要"身份网址"吗? - OpenID

我只是想知道我需要的是身份网址,以便理论上将OpenID帐户附加到用户的帐户.

我的身份网址如下所示:https://www.google.com/accounts/o8/id?id = YGnyuGHMUmhUI98nuhUMhu98nuN.

OpenID 1.0和2.0之间有什么不同?

以防有人问:我正在使用Django + django-openid-consumer

谢谢你们=)

python openid authentication django google-openid

5
推荐指数
1
解决办法
403
查看次数

谷歌帐户的Android身份验证已传递到Google App Engine

在深入研究实现这个特定设计的细节之前,我想要一些关于我是否正确接近它的建议/验证.我有Android的初学者知识,Python,GAE和OpenId的高级初学者.

环境

  • Android应用程序
  • 在Google App Engine上使用Python构建的Web服务
  • 使用Google帐户的用户

脚本

我想在我的Android应用程序中启用登录功能,而无需在GAE中编写自己的身份验证系统.在应用程序内,用户应该能够以访客身份进行游戏而无法保存高分.如果用户希望保存他的高分,他将在Android设备上对他的Google帐户进行身份验证.在游戏结束时,经过身份验证的用户高分将通过Google App Engine上的游戏网络服务保存(与他的Google帐户相关联).用户还应该能够注销并将设备交给朋友,该朋友也可以登录,玩游戏并保存与她的Google帐户相关的高分.

设计

  1. 在Android应用程序中,只要用户希望登录,就可以使用OpenId进行身份验证(使用Nick在此处发布的内容.
  2. 从返回的cookie中获取OpenId标记,并将其与当前用户关联.
  3. 对GAE服务进行Web服务调用,将令牌添加为cookie并包含高分
  4. Web服务将验证令牌是否有效
  5. Web服务将确定与令牌关联的唯一Google帐户ID(不知道如何执行此操作,但假设应该有一种方法可以执行此操作)并在交叉引用表中查找该唯一ID以查找用户-game id(以前在帐户设置期间创建)
  6. 保存与游戏内ID相关联的高分.
  7. 允许注销,以便其他用户可以使用他们的Google帐户登录游戏并重复上述过程

谢谢您的帮助

google-app-engine android google-openid

5
推荐指数
1
解决办法
2828
查看次数

Google OpenID - 如何在javascript中使用checkid_immediate?

使用openid.mode = checkid_setup我可以打开一个弹出窗口,如果用户没有登录,他将输入他的凭据.但如果他已经登录(浏览器cookie),则弹出窗口将立即显示并关闭.

在打开弹出窗口之前,我希望能够检查用户是否已经登录,如果是,请获取他的凭据.我认为应该用openid.mode = checkid_immediate完成, 但我无法弄清楚如何做到这一点.

如果有人可以提供一些javascript代码来实现这一点,那就太好了.

javascript openid authentication google-openid

5
推荐指数
1
解决办法
569
查看次数

django-allauth google integration会出现"社交网络登录失败"错误

我正在外部网站上集成django-allauth用于facebook和谷歌登录.Facebook的工作几乎开箱即用.但是,有了Google,我收到了"社交网络登录失败"错误.

这是我做的:

1.Google API控制台:Web应用程序配置的客户端ID

 Client ID: xxxxxxx.apps.googleusercontent.com
 Email address: yyyyyyyy@developer.gserviceaccount.com
 Client secret: xxx-yyy-zzz-111-222
 Redirect URIs: http://learnbuzz.com/accounts/google/login/callback/
 JavaScript origins: http://www.learnbuzz.com
Run Code Online (Sandbox Code Playgroud)

2.在Sites中处理learnbuzz.com网站

3.使用Google API控制台中的客户端ID和密码修复社交应用中的Google应用.

从文档和其他一些SO问题看来,这就是所需要的.

但是,当我使用谷歌登录时,我进入了accounts.google.com要求用户接受"应用程序共享基本用户信息和电子邮件"的页面.在我接受后,它为我提供了此网址的"社交网络登录失败":

http://learnbuzz.com/accounts/google/login/callback/?state=l1WdxOgr26bB&code=4/lGhX6Dum_FNnM3FE39TcULZb1UMX.0jX6biQfm3MfEnp6UAPFm0F0CIGMgQI

我错过了什么配置?

编辑:我不知道它是否重要但它需要浏览器相当一段时间才能抛出此错误.

django google-openid django-openid-auth django-allauth

5
推荐指数
1
解决办法
1119
查看次数

Google OpenId Connect 迁移:在 ASP.NET 应用程序中获取 openid_id

我已经浏览了大量的 Google 文档和 SO Q/A,但没有运气。我想知道是否有人按照 Google 的建议成功地使用了 OpenId 到 OpenId Connect 的迁移。

这是我们以前的做法:

IAuthenticationResponse response = _openid.GetResponse();
if (response != null) {
   //omitted for brevity       
} else {
   IAuthenticationRequest req = _openid.CreateRequest("https://www.google.com/accounts/o8/id");
   req.AddExtension(new ClaimsRequest
                    {
                        Country = DemandLevel.Request,
                        Email = DemandLevel.Request,
                        Gender = DemandLevel.Require,
                        PostalCode = DemandLevel.Require,
                        TimeZone = DemandLevel.Require
                    });
   req.RedirectToProvider();
}
Run Code Online (Sandbox Code Playgroud)

这是使用可追溯到几年前的 DotNetOpenAuth 版本完成的。由于 Google 已弃用 OpenId 身份验证,我们正尝试转向 OpenID Connect。这里的关键问题是:我可以以某种方式得到了OpenID标识符我的手(在形式https://www.google.com/accounts/o8/id?id=xyz使用最新版本的DotNetOpenAuth库或通过)有什么其他方法吗?

我已经尝试了最新的 DotNetOpenAuth,我可以让它工作,但它给了我一个新的 Id(这是预期的)。我还通过使用这个 URL(为了可读性而换行)尝试了 Javascript 方式:

https://accounts.google.com/o/oauth2/auth?
    scope=openid%20profile%20email
    &openid.realm=http://localhost/palkkac/
    &client_id=//here is the client id I created …
Run Code Online (Sandbox Code Playgroud)

asp.net dotnetopenauth google-openid google-oauth

5
推荐指数
1
解决办法
2023
查看次数

提示用户输入密码 - Google OpenID Connect

我们正在尝试将 Google 的 OpenID Connect 用于商业网络应用程序,但担心用户会使应用程序保持打开状态,并且未经授权的用户将登录,因为用户仍然登录到 Google,因此 OpenID Connect 只是让他们直接登录。

我们尝试过使用max_auth_age=0参数。这已被max_ageOpenID Connect 取代。

我确实看到 admin.google.com 上的 Google App 控制面板通常会重新提示用户输入密码,而任何其他登录都不会。但查看授权 URL,我没有看到任何会触发此情况发生的内容。

这是我们当前的授权 URL: https://accounts.google.com/o/oauth2/auth?prompt=select_account&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww....com%2Fauth%2Fuserinfo.profile&state=%2F&redirect_uri=https://www.foo.com/callback&response_type=token&client_id=...

也许如果我们添加一定的范围,可以触发谷歌进入高安全模式,但到目前为止我还没有发现任何东西。

google-openid google-oauth openid-connect

5
推荐指数
1
解决办法
1789
查看次数

谷歌登录不在safari私人模式下工作

我使用此文档在我的webapp中包含Google登录但是当我尝试在私有模式下从Safari加载网站时,我总是在控制台中出现以下错误

QuotaExceededError: DOM Exception 22: An attempt was made to add something to storage that exceeded the quota.
setItem4187590794-idpiframe.js:19:293
g4187590794-idpiframe.js:19:293
Ea4187590794-idpiframe.js:30
(funzione anonima)4187590794-idpiframe.js:33
onreadystatechange4187590794-idpiframe.js:11:477
Run Code Online (Sandbox Code Playgroud)

我知道在私人模式下的safari不允许写入localStorage但是没有任何解决方法让google登录也在私人模式下工作?

谢谢

javascript safari google-openid google-signin

5
推荐指数
1
解决办法
3024
查看次数

自发行 OpenID 提供者与 OpenID 提供者

简而言之:

“Self-Issued OpenID Provider”与“普通 OpenID Provider”(比如谷歌)究竟有什么区别?

我阅读了刚刚说的规范:

“OpenID Connect 支持自发行 OpenID 提供者 - 个人、自托管 OP,发行自签名 ID 令牌。自发行 OP 使用特殊的发行者标识符https://self-issued.me。“

所以我知道“自发行 OpenID 提供者”可以由我自己托管,并签署 ID 令牌。

不同之处在于,来自“普通 OpenID 提供者”的令牌使用受信任的证书进行签名(例如,因为它由已经在证书存储中的根 CA 证书签名),并且无需发送证书即可进行验证响应中的公钥 ?

最终有人可以澄清这一点,我将不胜感激。

提前致谢并致以最诚挚的问候!

openid google-openid openid-provider oauth-2.0 openid-connect

5
推荐指数
1
解决办法
1237
查看次数

什么可能导致相关 cookie 无法在特定设备上返回

我们有一些用户无法通过 Google 连接到我们的平台。发生这种情况时,总是针对特定设备,但根据我们目前掌握的信息,并非所有设备类型都相同(有待确认)。

我们正在使用 ASP.NET Core(和 Identity Server 4)。

我们这边的错误是从 oauth 流返回后,由 ASP.NET 标识设置的相关 cookie 消失了。我们已经验证它在开始时设置得很好,并且是有效的。这不是关于数据保护的问题(我们确实有这个问题)。无论我们尝试连接哪个帐户,我们都可以在装有 iOS 12 的两台 iPad 上进行复制。所有这些帐户都可以连接到其他设备,包括装有 iOS 13 的 iPad。

因此,我们正在尝试隔离可能导致这些特定设备出现故障的原因。此外,这似乎是最近才开始发生的,我们无法确定是什么变化可能在我们这边触发了这种情况。

更新 1

将 iPad 从 iOS 12 更新到 iOS 13 可以解决此问题。

google-openid asp.net-core identityserver4

5
推荐指数
2
解决办法
6013
查看次数

如何在 ASP.NET Core 中使用 .AddOpenIdConnect() 向 Google 请求离线访问?

我知道微软提供了一个谷歌特定的OIDC包( Microsoft.AspNetCore.Authentication.Google),它有一个选项.AddGoogle()来指定AccessType可以设置为offline.

但这可以使用标准 ASP.NET Core OIDC 包Microsoft.AspNetCore.Authentication.OpenIdConnect来完成吗.AddOpenIdConnect()

使用 Microsoft 帐户,我们可以简单地请求offline_access范围,并且效果完美。但它不适用于 Google,并会导致错误invalid_scope

asp.net google-openid asp.net-identity openid-connect asp.net-core

5
推荐指数
1
解决办法
539
查看次数