uber api - 现在带我回家应用程序 - 无效的访问令牌 - 节点 JS
uber api - Take Me Home Now app - invalid access token - node JS
我正在尝试实现这个原型应用程序:https://github.com/agraebe/Take-Me-Home-Now 作为免责声明,我对 Node JS 和 API 集成还很陌生。我想让代码正常运行,以表明我正确地实施了这个 OAuth2 工作流,并将这个应用程序视为实践它的好方法。
我在获取访问令牌时遇到问题并收到错误:当我转到 localhost:1455 时访问令牌无效,然后单击 "Login to request ride" 按钮。
我在 Whosebug 上看到了各种原因。一个可能是我需要获得 Uber 批准的请求。不过我不这么认为,因为代码使用的是沙箱而不是生产环境。
我的重定向 uri 设置为 https://login.uber.com/oauth/v2/authorize?client_id=client_id&response_type=code,"client_id" 设置为我在 link 中的客户端 ID。我已确保重定向 uri 与我在应用程序开发者帐户页面中的内容相匹配。
此外,我已经将详细信息硬编码到 config.js 文件中,因为我在 Whosebug 上看到有人提到存储环境变量可能是我收到的错误的问题。
请帮忙...
谢谢!
当您向优步注册您的应用程序时,您将必须定义一个回调 URL。即使它是你的开发机器(即 localhost:1455) 当你向 Auth 服务器发送请求时,你提供了一个 client_id、response_type 和 callback_url.
当用户成功通过身份验证后,Uber 会向您的回调 URL 发回一个代码(因此 response_type=code)作为 URL 参数。此代码不是令牌。然后使用此代码使用 client_id、client_secret 和代码获取令牌。
我建议阅读一些有关 oAuth 工作原理的文章,以便更好地理解。
我创建了 Take-Me-Home-Now 应用程序。假设您已经安装了所有依赖项(npm install
在项目根文件夹中),这里有一些需要考虑的事项:
- 您应该禁用广告拦截器以确保这不是问题所在
- 您必须在 Uber Developer Dashboard 中配置您的应用程序:
- 创建新应用
- 转到授权选项卡并设置以下配置:
- 重定向 url:
http://localhost:1455/api/callback
- 来源url:
http://localhost:1455/
- 一般范围:启用所有范围(特权范围除外)
- 转到设置选项卡并复制所需的凭据(客户端 ID、服务器令牌和客户端密码)。您将需要它们来启动 NodeJS 服务器,如下所示:
client_id=[1] client_secret=[2] server_token=[3] redirect_uri=[4] mashape_key=[5] node app.js
- 为了使用性别意识功能,您需要在 Mashape (Face++) 上获得一个帐户。您可能已经意识到,上面的启动命令也需要此密钥。
我正在尝试实现这个原型应用程序:https://github.com/agraebe/Take-Me-Home-Now 作为免责声明,我对 Node JS 和 API 集成还很陌生。我想让代码正常运行,以表明我正确地实施了这个 OAuth2 工作流,并将这个应用程序视为实践它的好方法。
我在获取访问令牌时遇到问题并收到错误:当我转到 localhost:1455 时访问令牌无效,然后单击 "Login to request ride" 按钮。
我在 Whosebug 上看到了各种原因。一个可能是我需要获得 Uber 批准的请求。不过我不这么认为,因为代码使用的是沙箱而不是生产环境。
我的重定向 uri 设置为 https://login.uber.com/oauth/v2/authorize?client_id=client_id&response_type=code,"client_id" 设置为我在 link 中的客户端 ID。我已确保重定向 uri 与我在应用程序开发者帐户页面中的内容相匹配。
此外,我已经将详细信息硬编码到 config.js 文件中,因为我在 Whosebug 上看到有人提到存储环境变量可能是我收到的错误的问题。
请帮忙... 谢谢!
当您向优步注册您的应用程序时,您将必须定义一个回调 URL。即使它是你的开发机器(即 localhost:1455) 当你向 Auth 服务器发送请求时,你提供了一个 client_id、response_type 和 callback_url.
当用户成功通过身份验证后,Uber 会向您的回调 URL 发回一个代码(因此 response_type=code)作为 URL 参数。此代码不是令牌。然后使用此代码使用 client_id、client_secret 和代码获取令牌。
我建议阅读一些有关 oAuth 工作原理的文章,以便更好地理解。
我创建了 Take-Me-Home-Now 应用程序。假设您已经安装了所有依赖项(npm install
在项目根文件夹中),这里有一些需要考虑的事项:
- 您应该禁用广告拦截器以确保这不是问题所在
- 您必须在 Uber Developer Dashboard 中配置您的应用程序:
- 创建新应用
- 转到授权选项卡并设置以下配置:
- 重定向 url:
http://localhost:1455/api/callback
- 来源url:
http://localhost:1455/
- 一般范围:启用所有范围(特权范围除外)
- 转到设置选项卡并复制所需的凭据(客户端 ID、服务器令牌和客户端密码)。您将需要它们来启动 NodeJS 服务器,如下所示:
client_id=[1] client_secret=[2] server_token=[3] redirect_uri=[4] mashape_key=[5] node app.js
- 为了使用性别意识功能,您需要在 Mashape (Face++) 上获得一个帐户。您可能已经意识到,上面的启动命令也需要此密钥。