【发布时间】:2017-07-03 03:31:53
【问题描述】:
我正在尝试使用 Python 服务器代码连接到通过 OAuth2 进行身份验证的 Mojio REST api。这是来自 Mojio 的“手册”:https://docs.moj.io/#/document/view/doc_oauth
我正在做第二个选项“授权码”。我不明白'redirect_uri'参数是什么。我在 localhost 上开发时应该传递什么?
谢谢
【问题讨论】:
我正在尝试使用 Python 服务器代码连接到通过 OAuth2 进行身份验证的 Mojio REST api。这是来自 Mojio 的“手册”:https://docs.moj.io/#/document/view/doc_oauth
我正在做第二个选项“授权码”。我不明白'redirect_uri'参数是什么。我在 localhost 上开发时应该传递什么?
谢谢
【问题讨论】:
您可能需要考虑使用“资源所有者密码凭据授予”与基于普通 UI 的 oAuth 工作流。这允许您在应用程序中捕获用户名和密码,并使用这些凭据而不是 UI 进行身份验证(如果您在服务器上,这可能具有挑战性)。当然,这取决于您的具体要求。
通过“资源所有者”流程登录...
HTTP POST
URI:
https://accounts.moj.io/oauth2/token
主体:
grant_type=password&username=USERNAME&password=PASSWORD&redirect_uri=REDIRECT_URI&client_id=CLIENTID&client_secret=CLIENTSECRET&scope=SCOPE
内容类型:
应用程序/x-www-form-urlencoded
你取回的这个令牌将是短暂的,我建议你获得一个刷新令牌(更长的生命周期):
获取刷新令牌:
HTTP POST
URI:
https://accounts.moj.io/oauth2/token
身体: grant_type=refresh_token&refresh_token=API_TOKEN_YOU_GOT_FROM_LOGIN&redirect_uri=REDIRECT_URI&client_id=CLIENTID&client_secret=CLIENTSECRET
内容类型:
应用程序/x-www-form-urlencoded
【讨论】: