问题标签 [oauth2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
4170 浏览

rsa - 使用 at_hash 验证访问令牌

我正在尝试针对 at_hash 验证访问令牌。令牌头是这样的

{ "typ": "JWT", "alg": "RS256", "x5t": "MclQ7Vmu-1e5_rvdSfBShLe82eY", "kid": "MclQ7Vmu-1e5_rvdSfBShLe82eY" }

如何从我的访问令牌中获取 id 令牌中的 Base64 编码的 at_hash 声明值?有没有在线工具可以帮助我解决这个问题?SHA256 哈希计算器不是一个正确的工具吗?

谢谢

0 投票
2 回答
15436 浏览

python - 谷歌驱动API下载文件-python-没有下载文件

我尝试了多种方法通过 oauth 和 API 从谷歌驱动器下载文件,但是我无法下载文件。我相信我已经正确验证了。运行我的代码后,下载文件似乎成功(没有错误),但没有下载文件。

这是我到目前为止尝试过的代码:

但是,这会导致“下载 100%”。正在打印到控制台,但没有下载文件。

我也试过:

这也不会产生下载的文件,但它确实给了我 200 条消息。

这两个似乎都在正确地与 API 联系。是否需要执行其他步骤才能实际获取计算机上的文件?

编辑:

这是我的代码的其余部分:

0 投票
3 回答
1228 浏览

php - Google Identity Toolkit API for PHP returns INVALID_CLIENT

I'm trying to get the Google Identity Toolkit API working for a PHP based application.

I've been following the Quick-start Guide from Google available here: https://developers.google.com/identity/toolkit/web/quickstart/php

I've followed the steps exactly (and checked and double checked).

The sign-in button appears on the index.php page. Clicking this redirects to the widget.php page. I can select which account I want to sign in with, and then when returned to the successful sign in page (index.php again) I receive the following error message:

Fatal error: Uncaught exception 'Google_Auth_Exception' with message 'Error refreshing the OAuth2 token, message: '{ "error" : "invalid_client", "error_description" : "The OAuth client was invalid." }'

I've tried recreating the OAuth client within the Google Developer Console. Some search results mentioned to check Email and Project Name fields were completed on the OAuth Consent screen, all of which I've done.

Any help & advise would be greatly appreciated. Note: I'm only using "Google" out of the available providers under the Identity Toolkit API settings.

My index.php page:

My gitkit.php page:

my gitkit-server-config.json file:

0 投票
1 回答
3934 浏览

php - 如何在 phalcon 中使用 Oauth2?

我正在寻找一些简单的 Token 创建来对每个 Rest Api 调用进行身份验证。

实际上我是这个身份验证过程的新手,我浏览了一些网站和论坛,但我没有正确了解登录后在哪里存储令牌以及如何使用它进行身份验证。

请给我一个示例代码?

注意:我只是为我的网站创建了 Rest Api,所以我认为不需要其他密钥来创建访问令牌。

0 投票
1 回答
268 浏览

fiware - 使用 keyrock 对 spagobi 进行身份验证

我们在 SpagoBI 上使用 KeyRock 作为身份验证提供程序进行身份验证时遇到问题。我们在这里遵循了指南:

http://spagobi.readthedocs.org/en/latest/admin/README/index.html

重定向到 KeyRock 是有效的,但是在我们输入用户凭据后,会出现一个错误,上面写着: {"state": "None", "error": "invalid_redirect_uri"} (HTTP 400)

KeyRock 中的配置页面如下所示:

键岩截图

我们只是简单地复制了 oauth2.config.properties 中所需的客户端 ID、机密和其他参数。

注意:KeyRock 的公共实例的默认 url 是错误的,我们必须添加 /oauth2 才能使它们工作,可能它们是为之前版本的 KeyRock 准备的。

编辑 30-03-2016

更多信息:

  • 我们正在使用 KeyRock 的公共实例
  • 我们正在使用 docker hub 中可用的 Docker 容器部署在我们的服务器上的 SpagoBI 私有实例
  • 这是我们的 oauth2.config.properties 的内容
  • CLIENT_ID = 123456 SECRET = 123456 REDIRECT_URI = http://192.168.196.15:8080/SpagoBI/servlet/AdapterHTTP?PAGE=LoginPage&NEW_SESSION=TRUE TOKENS_URL = https://account.lab.fiware.org/api/v1/tokens.json APPLICATIONS_BASE_URL = https://account.lab.fiware.org/oauth2/applications/ AUTHORIZE_BASE_URL = https://account.lab.fiware.org/oauth2/authorize GET_ACCESS_TOKEN_URL = https://account.lab.fiware.org/oauth2/token GET_USER_INFO_URL = https://account.lab.fiware.org/oauth2/user APPLICATION_NAME = SpagoBI ADMIN_EMAIL = fiwarelab@email ADMIN_PASSWORD = fiwarelab@password
  • 我们在地址中添加了 /oauth2/ 部分,否则在重定向到 KeyRock 时会出现 404 错误。
0 投票
1 回答
100 浏览

android - 在 Android 中手动实现 OAUTH2 身份验证流程

我想在没有 webview 的情况下在 Android 中本地实现 OAUTH2 授权流程。我发现许多教程展示了如何使用 webview 使用 OAUTH2,但还没有找到任何使用 JSON、登录/pw 字段和本机 android 组件(减去 webview)执行重定向和登录后台的教程有没有人做过这个或对如何做到这一点有任何建议?

0 投票
2 回答
3840 浏览

node.js - 使用什么身份验证策略?

最近我一直在阅读 OAuth2、OpenID Connect 等。但仍然对何时使用以及如何实现它感到非常迷茫。我现在正在考虑使用 NodeJS。

假设我想创建一个博客服务。该服务将公开 API 供客户使用。“客户”包括管理 CMS。我认为解耦我的服务器和客户端(UI)会很好。我可以在不接触服务器的情况下更改 UI。这些客户端很可能是单页 Web 应用程序。

好的第一个问题:在这个例子中,我应该使用 OAuth2 吗?为什么?仅仅是因为我授权管理应用程序通过博客访问吗?

自 SPA 以来,我认为正确的策略是 OAuth2 隐式流?

对于每个应用程序,例如。admin cms,我将不得不生成一个传递给身份验证服务器的 AppID。不需要应用程序密码对吗?

在这种情况下是否可以使用谷歌登录(而不是用户名/密码)?OpenID 连接会这样做吗?

我如何在 NodeJS 中实现所有这些?我看到https://github.com/jaredhanson/oauth2orize,但我看不到如何实现隐式流程。

我确实看到了一个非官方的示例https://github.com/reneweb/oauth2orize_implicit_example/blob/master/app.js,但我在想的是为什么需要会话?我认为令牌的目标之一是使服务器可以是无状态的?

我也想知道,我什么时候应该使用 API 密钥/秘密身份验证?

0 投票
1 回答
834 浏览

python - 验证 oauth 请求时出现 invalid_grant 错误 - Google Drive

我正在尝试访问客户的 Google Drive 以下载他们的文件。在我自己的谷歌驱动器上测试代码时,我能够成功下载文件。但是,当我从他们那里得到 oauth 代码时,我得到了错误:

在查看了其他一些答案后,建议您确保 access_type='offline',这似乎是默认设置,我可以在生成的 url 中看到设置了此参数。听起来他们返回的代码可能仅在一个小时内有效,但是我尝试在一小时内使用它,但仍然没有运气。有关如何避免此问题的任何其他建议?

这是我一直在运行的代码:

它在 flow.step2_exchange 行上出错。

0 投票
1 回答
1495 浏览

android - 安卓谷歌登录

我在https://console.developers.google.com/apis/credentials?project=XXXXX创建了一个项目和一个 Android 凭据

我正在按照以下步骤在我的 Android 应用上添加 Google 登录: https ://developers.google.com/identity/sign-in/android/start-integrating#prerequisites

我的第一个疑问是。在谷歌控制台上创建凭据后如何获取 google-services.json 文件?我只能下载 client_secret_XXXXXXXXXXX-asdfasdfasdfasdfasdfasdf.apps.googleusercontent.com.json

按照 Google 登录指南进行所有设置后,我无法从 Google API 获取令牌。我发现了这个问题:Android 中的新 Google 登录

第一步告诉您创建配置文件(它会为您创建一个 OAuth 2.0 客户端 ID 并将其插入到 google-services.json 中)

稍后,它再次说要创建 OAuth 2.0 客户端 ID,但这次它说您必须为 Web 应用程序执行此操作

这是令人困惑的部分!(至少对我来说)因为我只是获取为 android OAuth 创建的客户端 ID,而不是为 Web 应用程序创建一个新的客户端 ID(我认为文档只是多余的东西)

正如它所说,就是这个,只有这个是您必须用作方法 requestIdToken 或 requestServerAuthCode 的参数的一个。

忘记在此方法中使用 Android OAuth ID,因为那样您将一直收到丑陋的状态码响应 12501。

我认为主要问题是文档对此有点混乱。或者可能是因为您必须创建两个 OAuth ID 的事实有点奇怪。

总而言之,您需要两个 OAuth ID,一个用于 android,一个用于 Web 应用程序,您必须将每一个设置在正确的位置。

那里说我必须创建一个 Web 应用程序凭据。现在我很困惑,我有 2 个 json 文件(client_secret_XXXXXXXXXXX-asdfasdfasdfasdfasdfasdf.apps.googleusercontent.com.json 和 google-services.json,以及 2 个客户端 ID(Android 和 Web)

R.string.oauth_client_google 是 Web 应用程序客户端 ID。如果我设置了 Android 客户端 ID,则无法正常工作。

我真的需要 Android 客户端 ID 吗?

任何人都知道正确的步骤:首先是谷歌帐户选择器,然后是来自谷歌的令牌?

0 投票
1 回答
187 浏览

google-analytics - oauth2callback.php uri 误导错误

我正在尝试执行 Hello analytics php 快速入门https://developers.google.com/analytics/devguides/reporting/core/v3/quickstart/web-php#enable

我已将这些重定向 uris 添加到 google 控制台开发人员
http://example.info/index.php
http://example.info/oauth2callback.php
我将示例代码设置如下

我收到错误 400 请求中的重定向 URI http://example.info/index.php与授权给 OAuth 客户端的那些不匹配,即使我确信它确实如此。