Google“OpenID Connect”和“使用 Google 登录”之间的区别?

2024-03-15

我希望我的网站的用户使用 Google 帐户进行身份验证/登录我的网站。首要的use case用户将编辑和生成内容,我们希望以安全的方式记录所有权。我们对获取用户谷歌数据不感兴趣,我们只是想要一种对用户进行身份验证的方法。

谷歌搜索后,我发现了一些文档,这似乎解释了如何做到这一点OpenID Connect(用于登录的 OAuth 2.0) https://developers.google.com/accounts/docs/OpenIDConnect#authenticatingtheuser。但文档立即显示“注意:如果您想为您的网站或应用程序提供“使用 Google 登录”按钮,我们建议使用 Google+ 登录,...”,如果您点击链接,最终会带您进入到Google+ 登录 https://developers.google.com/+/web/signin/.

这两页文档有什么区别?为什么第一个告诉你去第二个并不是说第一个已被弃用?两者都适合我的用例吗?它只说“我们推荐”我想知道为什么他们推荐它?

更新:我还发现了另一个链接,它似乎记录了另一种方法https://developers.google.com/accounts/docs/OAuth2WebServer https://developers.google.com/accounts/docs/OAuth2WebServer我认为这只是为了“授权”,即授权您的应用程序进行 google api 调用以获取用户数据,因此不能用于身份验证/登录。

顺便说一句,我正在使用 Scala Spray BE REST API 和 NG JS FE 构建我的网站。


两者可以进行比较here https://developers.google.com/+/api/openidconnect/index.

使用个人资料范围登录 Google+

  • 拥有用于使用 OAuth 2.0 进行身份验证的 Google 客户端库,其中包括对 Google+ 和其他 Google 服务(例如获取用户的社交信息)的支持。此外,这可以使实施更容易并且需要更少的样板代码
  • 具有 Google+ 登录按钮以简化登录 没有预构建的小部件
  • 支持 Android 无线安装

OAuth登录主要只是为了身份验证处于较低水平,即通过发出原始 HTTP 请求,没有 API。

OpenID Connect 协议(OAuth 2.0 登录)Google+ 登录 https://developers.google.com/+/api/auth-migration#sign-in如果您使用 openid 范围进行配置并使用 getOpenIdConnect 获取用户配置文件,则支持 OIDC 互操作性。

OAuth 2.0 登录 https://developers.google.com/accounts/docs/OAuth2Login直接支持OIDC。使用它来让用户登录不需要社交功能且在 Google+ 登录不支持的平台上运行的应用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google“OpenID Connect”和“使用 Google 登录”之间的区别? 的相关文章

  • 在 GCP API 网关上使用 Google 访问令牌进行身份验证

    我正在尝试使用 Google 在 GCP API Gateway 上执行身份验证访问令牌 ya29 OAuth2 但是 那文档 https cloud google com api gateway docs authenticating u
  • Android Google+ 无法获取授权码

    我正在尝试根据这篇文章获取 Google 授权码 您的应用程序的服务器端访问 https developers google com mobile android sign in server side access for your ap
  • Amplify 的completeNewPassword 方法针对用户数据抛出 TypeError

    我尝试将自定义 UI 与 aws Amplify 结合使用 但遇到了 Auth completeNewPassword 问题 任何使用此方法的尝试都会引发错误Error in v on handler TypeError Cannot re
  • 如何限制登录尝试 - PHP & MySQL & CodeIgniter

    我希望能够根据失败的尝试来限制登录尝试 但我有一些问题 我应该使用 MySQL 吗 读到它可能会给数据库带来压力 我应该在每个用户和系统范围内进行限制还是仅在系统范围内进行限制 这样可以防止普通人猜测密码 我应该如何计算我的阈值 因此它会自
  • 龙卷风 websocket 应用程序中的用户身份验证

    现在 我提高了我的龙卷风技能 并有一个关于用户身份验证的问题 我的解决方案是在首页上创建安全令牌 然后将其与其他数据一起发送 从 javascript 到龙卷风服务器 在其中检查和验证用户 我想到了 cookie 但我不知道如何读取 coo
  • 为什么访问令牌请求需要redirect_uri?

    我正在开发一个基于 oauth2 提供程序rfc6749 https www rfc editor org rfc rfc6749我想知道为什么需要redirect uri访问令牌请求 https www rfc editor org rf
  • 如何使用 OAuth 2.0 实现 Web 小部件

    我想创建一个 Web 小部件来显示我网站上的信息 该小部件将使用 JavaScript 包含在客户网站的 HTML 中 并且只能用于我的客户 在我的网站上注册的网站 小部件中的信息应该特定于当前正在访问客户站点的用户 因此 我需要对客户端
  • 创建持久的 php 登录 cookie 会话

    我试图让我的登录会话持续更长时间 这样人们就不会过早退出我的网站 例如 制作一篇博客文章并在提交时丢失 因为 php 的 cookie 过期了 理想情况下 我想给他们一个 2 小时的会话 他们不会注销 每次加载页面时都会刷新 下面的代码片段
  • 使用客户端凭据从 Azure AD 获取访问令牌以进行本机应用程序注册 (PowerBI)

    我使用后端应用程序中的 adal4j 版本 1 2 0 来获取访问令牌 以便能够使用 PowerBI REST API 嵌入报告 更具体地说 是GenerateToken 方法 我已在 Azure 中注册了一个本机应用程序 并为其提供了必要
  • iOS客户端的Youtube API如何获取Client Secret?

    我正在开发 iOS 应用程序 其中包含在 Youtube 上上传视频的功能 我遵循了一个示例项目yt direct lite ios https github com youtube yt direct lite iOS 该项目需要客户编号
  • 最好的分布式暴力对抗措施是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 首先 有一点背景知识 众所周知 我正在为 CodeIgniter 实现一个 auth auth 系统 并且到目前为止我正在获胜 可以这么说 但我
  • React Router v5.1.2 公共和受保护的经过身份验证和基于角色的路由

    目标是将 login 作为唯一的公共路由 一旦登录 用户就拥有基于用户角色的路由 身份验证是使用 Keycloak 完成的 我从 keycloak idTokenParsed preferred username 获取用户 管理员 经理 工
  • JavaMail 连接到 Office 365 XOAUTH2 进行 IMAP 身份验证失败

    使用 OAuth2 0 在线 Office365 面临连接问题 我已经设置了应用程序权限以及 IMAP 和 SMTP 连接 基本身份验证似乎工作正常 我相信 IMAP 已启用 我的应用程序配置为任何组织目录 任何 Azure AD 目录 多
  • 使用 Passport-facebook 的 Facebook OAuth 安全性

    我目前正在使用客户端 React 组件让用户通过我的应用程序中的 OAuth 登录 Facebook 在服务器端 我使用 npm 包护照 Facebook 令牌 https github com drudge passport facebo
  • Symfony2 - 访问被拒绝(用户未经过完全身份验证)

    我正在使用 Symfony2 开发一个网站 直到今天 登录没有问题 但现在登录时我没有正确验证 Symfony 分析器将我列为logged in as anon而不是我登录的用户 我还被重定向回登录页面而不是目标路径 登录过程由传统的登录表
  • mifare 卡身份验证错误“6982:安全状态未满足”

    我有 pc sc 读卡器和非接触式卡 mifare 卡 我可以连接到该卡 并且我也成功执行 getdate 命令 但是当我想进行身份验证时 我看到此错误 6982 安全状态不满足 我已经尝试过这 3 个不同的身份验证命令 但所有这些命令都出
  • Google API 控制台 - 缺少客户端密钥

    我尝试为 Android 应用程序创建一个测试客户端 ID 该应用程序使用 OAUTH 2 0 作为检索用户配置文件的登录名 我按照步骤在谷歌控制台上完成了客户端 ID 的创建 但我没有在任何地方看到客户端密钥 我正在尝试帮助我的雇主获取其
  • 我应该如何安全地存储密码并在 chrome 扩展中使用 http auth

    我正在制作一个 chrome 扩展 需要从安全服务器获取 xml 文件 我目前正在使用 XMLHttpRequest 来调用服务器 https username email protected cdn cgi l email protect
  • 在 PHP MySQL 中使用 jQuery AJAX 提交表单而无需重新加载

    我有一个基本的注册 登录页面 它使用 php 将数据提交到 SQL 数据库 但是 我希望页面在 jQuery AJAX 的帮助下不要在提交时重定向 无论成功与否 这是我目前所拥有的 但不起作用 它不显示任何错误消息 HTML 注册 html
  • ASP.NET MVC - 角色提供程序的替代方案?

    我试图避免使用角色提供程序和成员资格提供程序 因为在我看来它太笨拙了 因此我试图制作自己的 版本 它不那么笨拙并且更易于管理 灵活 现在我的问题是 除了角色提供者之外 还有其他不错的选择吗 我知道我可以自定义角色提供者 会员提供者等 通过更

随机推荐

  • 在不知道父元素的情况下访问多维数组元素

    我有返回以下多维数组的函数 我无法控制数组的形成方式 我正在尝试访问 结果 元素 这个问题是 父元素的名称不断变化 Result 元素的位置始终相同 因为名称为 Result 是否可以在不知道父元素名称的情况下访问该元素 Array sHe
  • UITableViewCell 异步加载图像问题 - Swift

    在我的应用程序中 我构建了自己的异步图像加载类 我传入一个对象 然后它检查缓存 NSCache 是否有图像 如果没有 它将检查文件系统是否已保存图像 如果图像尚未保存 它将在后台下载图像 NSOperations 帮助 到目前为止 效果很好
  • 带和不带 ( ) 的构造函数调用之间的区别

    我是 C 初学者 想了解为什么 return std list
  • Netbeans 7.1 和 python

    我曾经使用 Netbeans 6 9 进行 Python 开发 以及 Java 和 PHP 我有一个很酷的 PHP 调试器 带有 xDebug 还有良好的 Python 支持 没有任何抱怨 我搬到另一台计算机下载了最新的 netbeans
  • 相当于“Dim As String * 1”VB6 到 VB.NET

    我有一些VB6代码需要迁移到VB NET 我想询问一下这行代码 看看是否有办法在 NET中实现它 Dim strChar1 As String 1 智能感知不断告诉我声明即将结束 这就是所谓的 固定长度 字符串 VB NET 中没有完全等效
  • Java中通过Proxy发送SOAP消息

    我需要知道如何设置代理并确认它正在工作 我制作了一个如下所示的测试程序 您可以在其中指定代理地址和端口号 我在以下位置找到了地址和端口 http www freeproxylists net http www freeproxylists
  • MongoDB:查找字段名称以以下开头的对象

    查询 MongoDB 从给定的集合 参见下面的示例 中 我只需要列出包含字段的对象 其中字段名称以 need 开头 包含三个对象的集合示例 1 id 1 need some A need more 1 website id 12345678
  • 从网络加载(并显示).XIB

    我希望能够下载 通过 NSURLConnection 请求 XIB 文件 并将其呈现在视图中 我已经实现了 NSURLConnection 当然 当连接完成时 我留下了一个代表 XIB 文件的 XML 数据的 NSString 示例 只是许
  • Gradle:未指定资源类型(在“text”处,值为“@{user.name}”)。数据绑定不起作用

    我试图将适当的数据绑定功能添加到我的项目中 但由于某种原因它仍然失败 build gradle文件看起来像这样 apply plugin com android application buildscript repositories ma
  • Java 变量如何与其自身不同?

    我想知道这个问题是否可以用 Java 解决 我是该语言的新手 这是代码 class Condition you can change in the main public static void main String args int x
  • Java Swing 更新 JList

    我想知道是否有任何方法可以在用户添加或删除项目后以及用户对其进行排序后更新 Jlist 有什么方法可以编写标准化方法来根据数组或向量中的项目顺序以及当用户从 JList 所基于的数组中删除或添加对象时更新显示 谢谢 应该更新 ListMod
  • 异常处理实践顶层与每个函数

    我见过几种异常处理方法 我见过的两种最常见的模式是 在每个函数上尝试捕获 记录异常并重新抛出 在最顶层尝试捕获 如主函数 记录异常并重新抛出 如果有的话 哪一种是更好的做法 或者在什么情况下您会选择一种方法而不是另一种 这取决于您的应用程序
  • 当使用 fork() 时,getline() 会重复读取文件

    我正在开发一个简单的 shell 程序 一个命令行解释器 我想从文件中逐行读取输入 所以我使用了 getline 函数 第一次 程序工作正常 但是 当它到达文件末尾时 它没有终止 而是开始从头开始读取文件 并且无限运行 下面是 main 函
  • Python 和 sqlite3 - 导入和导出数据库

    我正在尝试编写一个脚本来导入数据库文件 我编写了导出文件的脚本 如下所示 import sqlite3 con sqlite3 connect sqlite db with open dump sql w as f for line in
  • Git:如何防止提交仅为调试目的而修改的文件?

    很多时候 我喜欢修改一些代码行以使调试更容易 但实际上我并不想提交它们 例如 我将通过注释掉某些代码行来禁用一些烦人的功能 例如广告 或者我将日志级别和过滤器设置为仅我关心的级别 或者我将强制条件为 true这样我想要运行的代码块实际上一直
  • Android 在 AlertDialog 中等待用户输入以继续

    我看到这里讨论了这个主题 但似乎不明白如何继续 In my onCreate我有代码检查它是否是应用程序的第一次运行firstRun getPref getBoolean firstRun true 如果是第一次运行该应用程序 则会显示一个
  • 具有目标 Windows 本地文件夹的 Docker 命名卷

    在 docker compose 文件中 我想创建一个命名卷 该卷将以本地驱动器为目标进行测试 对于生产 我们将使用 NFS 我创建了如下撰写文件 version 3 3 services test build volumes type v
  • SwipeRefreshLayout刷新动画不停止

    我已经实现了一个具有 SwipeRefreshLayout 作为内容视图的片段 刷新动画在 onRefresh 时触发 但即使在从服务器检索数据后将 setRefreshing 设置为 false 刷新动画也不会停止 Override pu
  • 读取 aws 凭证文件的最佳方式

    在我的 python 代码中 我需要提取 AWS 凭证 AWS SECRET ACCESS KEY 和 AWS ACCESS KEY ID 它们存储在纯文本文件中 如下所述 https docs aws amazon com sdkref
  • Google“OpenID Connect”和“使用 Google 登录”之间的区别?

    我希望我的网站的用户使用 Google 帐户进行身份验证 登录我的网站 首要的use case用户将编辑和生成内容 我们希望以安全的方式记录所有权 我们对获取用户谷歌数据不感兴趣 我们只是想要一种对用户进行身份验证的方法 谷歌搜索后 我发现