问题标签 [grant-oauth]

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 投票
1 回答
77 浏览

javascript - 与谷歌进行 OAuth2 身份验证的授权问题

我正在使用Grant与谷歌进行 OAuth2 身份验证。我在 config.json 中提供了所有参数:

但它仍然拒绝发送所有参数。我收到“client_id”未发送错误。

我修改了库以打印出 URL,确实是这样:

通过某种排列,我确实设法使第一步工作了一次,但是由于找不到client_secret而失败了。

有什么我做错了吗?该库似乎没有错误。

0 投票
1 回答
142 浏览

javascript - Express.js 连接到 Twitter

我正在尝试在我的 Windows 7 机器上使用 Express.js 和Grant对 Twitter 进行 Oauth 身份验证。当我node app.js在命令行中运行时,我得到以下信息:

问题是为什么 MADE IT HERE 也不会在控制台中输出。另外,我应该在 app.js 中我目前有“非常秘密”的地方放什么秘密?这需要成为我的消费者秘密还是任何字符串?

我正在使用 Xampp,当我想在我的浏览器 (Chrome) 中运行时,我会直接访问:http ://dummy.com:3000 /,然后我得到“此网页不可用”。如果我改为直接访问http://localhost/xampp/phptest/lions/idk/run.html,那么我会得到一个空白网页。我应该使用哪个?

我试图跟随这个:https ://scotch.io/tutorials/implement-oauth-into-your-express-koa-or-hapi-applications-using-grant#configure-express

这是我所有的文件:

应用程序.js

配置文件

包.json

运行.html

0 投票
1 回答
192 浏览

node.js - NPM 授予 OAuth 中间件“invalid_redirect”错误

我一直在尝试使用这个外观优雅的包来通过 Jawbone API 进行身份验证。但我不断收到这个错误 -

在此处输入图像描述

我已经使用 Jawbone API 服务配置了我的“应用程序”以使用这些重定向 URI -

在此处输入图像描述

我的配置文件看起来像这样 -

我尝试按照作者的 示例来生成这样的 app.js -

我假设我犯了一个菜鸟错误,并且可能误读了文档或示例。有人可以指出我配置错误的地方吗?

0 投票
2 回答
1326 浏览

node.js - 从 Pocket API (oAuth) 检索数据

我需要从我的 Pocket 帐户中检索我保存的阅读列表,而且我似乎需要通过他们的 oAuth 获取访问令牌才能发出请求。

我有访问令牌的消费者密钥,根据 Pocket API 文档,请求将类似于这样。

我的问题是...不是 oAuth 用于 3rd 方应用程序以通过 Google、Facebook 帐户启用身份验证吗?我看不出这个想法与我的网站有什么关系,我的网站只需要从 Pocket 访问我自己的数据即可在我的网站上共享。

我知道我需要以某种方式进行身份验证,以便我可以访问我的数据,但是 oAuth 是我需要通过的过程来获得我需要的东西吗?

0 投票
1 回答
557 浏览

javascript - 无法使用 Oauth2/BaseCamp API 获取响应数据

我是一个使用 javascript API 的“高级初学者”,所以我的需求可能是二年级的,但是在整晚把我的头撞在墙上之后,感谢您提供的任何基本指导。我正在尝试使用 Oauth2 对应用程序进行身份验证以访问我的 BaseCamp 站点。

我正在使用 Grant Express 并已成功注册我的应用程序,因此我收到了 client_ID、client_secret 和重定向 uri。对于重定向 uri,我添加了一个名为“auth”的文件夹,但其中唯一的内容是一个空白的 index.html 文件。所以重定向网址是http://example.com/auth

在我的本地机器上,我创建了一个名为 oauth 的目录并在其中运行: npm install express npm install grant-express

我创建了一个文件 app.js,如下所示:

package.json 文件如下所示:

我去终端并输入node app.js并得到响应:Express server listening on port 3000。没事吧?

当我转到浏览器并输入http://localhost:3000/connect/basecamp时,url 会重定向到:https://launchpad.37signals.com/authorization/new?client_id=client_id_from_basecamp&response_type=code&redirect_uri=http%3A%2F%2F127.0.0.1%3A3000%2Fconnect%2Fbasecamp%2Fcallback&type=web_server 但页面包含此错误: :error: Provided redirect_uri is not approved

如果我到达:http://localhost:3000/connect/basecamp/callback 我会看到这个错误(也在服务器的控制台中){ error: { error: 'Grant: OAuth2 missing code parameter' } }

Basecamp API 文档中它说:使用您的 client_id、client_secret 和 redirect_uri 配置您的 OAuth 2 库。告诉使用https://launchpad.37signals.com/authorization/new请求授权并使用https://launchpad.37signals.com/authorization/token获取访问令牌。什么是“它”以及我将如何告诉它使用这些网址?我是否将这些 url 作为对象添加到我的 app.js 文件中?还是我进入另一个文件?我需要在http://example.com/auth中添加一些东西吗?

不知道从这里去哪里......非常感谢您的帮助。

0 投票
0 回答
161 浏览

node.js - Twitter 登录不会重定向回我的应用

我正在使用https://github.com/simov/grant添加登录 Twitter 功能,但由于某种原因,Twitter 在授权我后无法重定向回我的应用程序。

这是我为重新编辑提供的网址:

在此处输入图像描述

我的 /etc/hosts 文件中有 dummy.com 别名,指向 127.0.0.1 (localhost)

在 twitter 授权我之后,这是我最终的结果: 在此处输入图像描述

如果您查看浏览器地址栏,您会注意到我的 url 已损坏(缺少协议部分),并且看起来 twitter 正在尝试在 twitter 网站上查找具有此类 url 的页面,而不是实际重定向到我的 url。

我的授权配置:

{ "twitter": { "key": "...", "secret": "....", "callback": "/handle_twitter_callback" } }

0 投票
3 回答
653 浏览

express - 在同一浏览器上同时访问两个应用程序模块且用户尚未登录时,授予提供者 OAuth 状态不匹配

我一直在尝试实现单点登录(SSO)。我有不同的前端应用程序模块,它们在不同的域上运行,它们都使用单个 API 服务器。

  1. SSO 服务器https://sso.app.com
  2. API 服务器https://api.app.com
  3. 前端模块 1 https://module-1.app.com
  4. 前端模块 2 https://module-2.app.com

认证流程

身份验证流程是前端模块检查本地存储中的令牌。如果找不到令牌,它将用户重定向到 API 服务器端点,比如说https://api.app.com/oauth/connect. API 服务器具有 SSO 服务器的 clientId 和 Secrets。API 服务器在 cookie 中设置前端模块的 url(以便我可以将用户重定向回启动器前端模块),然后将请求重定向到 SSO 服务器,在该服务器上向用户显示登录屏幕。用户在那里输入凭据,SSO 服务器验证凭据,创建会话。验证凭证后,SSO 服务器使用用户配置文件和 access_token 调用 API 服务器端点。API 服务器在会话中获取配置文件并查询并签署自己的令牌,然后通过查询参数将其发送到前端模块。在前端(React APP)上有一条专门用于此的路线。在该前端路由中,我从 queryParams 中提取令牌并设置在本地存储中。用户在应用程序中。同样,当用户加载 FrontendModule-2 时,会发生相同的流程,但这次是因为在 FrontendModule-1 流程运行时 SSO 服务器正在创建会话。它从不要求登录凭据并将用户登录到系统。

失败场景:

场景是,假设有用户 JHON 尚未登录并且没有会话。Jhon 在浏览器中点击了“前端模块 1”URL。前端模块检查 localStorage 的令牌,它没有找到它,然后前端模块将用户重定向到 API 服务器路由。API 服务器具有将请求重定向到 SSO 服务器的 clientSecret 和 clientId。那里的用户将看到登录屏幕。

Jhon 看到登录屏幕并保持原样。现在 Jhon 在同一浏览器中打开另一个选项卡并输入“前端模块 2”的 URL。与上面相同的流程发生,Jhon 登陆登录屏幕。Jhon 离开该屏幕并返回到第一个选项卡,在该选项卡中加载了 Frontend Module 1 会话屏幕。他输入信用并点击登录按钮。它给了我会话状态已更改的错误。这个错误实际上是有道理的,因为会话是共享的。

期待

我如何在没有错误的情况下实现这一点。我想将用户重定向到发起请求的同一个前端模块。

我正在使用的工具

示例实现(API 服务器)

0 投票
0 回答
85 浏览

python - NodeJS Grant - 带有 Django Oauth Toolkit 应用程序的 Oauth

我正在使用两台服务器,一台是 NodeJS 应用程序(FeathersJS 和 Grant 用于身份验证),另一台是 Django 应用程序,使用 django-oauth-toolkit 进行身份验证。

我正在尝试使用 python django 应用程序让 NodeJS 应用程序进行 oauth,所以这是我到目前为止所做的:

  1. 使用 Django Oauth 工具包注册 Feathers -

在此处输入图像描述

  1. 使用以下选项配置 Feathers/Grant:

但是我遇到了一个问题,即授权工作流没有收到访问令牌,并且被困在这一点上。有没有人尝试过集成两个应用程序并在此过程中取得成功?我将不胜感激任何指针,建议。谢谢!