我正在尝试实施此原型应用:https://github.com/agraebe/Take-Me-Home-Now作为免责声明,我对Node JS和API集成相当新。我想让代码正常运行,以表明我正确实施了这个OAuth2工作流程,并将此应用视为实践该方法的好方法。
我无法获取访问令牌并收到错误:当我转到localhost:1455时无效的访问令牌,然后点击"登录以请求乘坐"按钮。
我在stackoverflow上看到了各种原因。一个可能是我需要得到优步批准的请求。我不会这么认为,因为代码使用的是沙盒,而不是生产。
我的重定向uri设置为https://login.uber.com/oauth/v2/authorize?client_id=client_id&response_type=code,其中" client_id"在该链接中设置为我的客户端ID。我确保重定向uri与我在应用开发者帐户页面中的内容相匹配。
此外,我已经将详细信息硬编码到config.js文件中,因为我已经看到有人在stackoverflow上提到存储环境变量可能是我收到的错误的问题。
请帮忙...... 谢谢!
答案 0 :(得分:0)
当您使用uber注册应用时,您必须定义一个回调网址。即使它是您的开发机器(即localhost:1455)当您将请求发送到Auth服务器时,您提供了client_id,response_type和callback_url。
当用户成功进行身份验证时,Uber会将代码(因此为response_type = code)作为URL参数发回给您的回调URL。此代码不是令牌。然后使用此代码使用client_id,client_secret和代码获取令牌。
我建议您阅读oAuth如何更好地理解。
答案 1 :(得分:0)
我创建了Take-Me-Home-Now应用程序。假设您已经在项目根文件夹中安装了所有依赖项(npm install
),请考虑以下事项:
http://localhost:1455/api/callback
http://localhost:1455/
client_id=[1] client_secret=[2] server_token=[3] redirect_uri=[4] mashape_key=[5] node app.js