首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过命令行获取Auth0访问令牌

通过命令行获取Auth0访问令牌
EN

Stack Overflow用户
提问于 2020-08-05 16:49:48
回答 1查看 821关注 0票数 2

我被迫使用一个使用zzz进行身份验证的不符合人体工程学的网站(我们称之为auth0 ),并在内部使用REST,而且我强烈希望直接使用该API。

使用浏览器检查器,我可以看到该API是如何工作的,如果我使用我在那里找到的JWT访问令牌(使用Authorization: Bearer传输),我可以用脚本访问API。

考虑到我的用户名和密码,我面临的问题是通过auth0获得这样一个JWT访问令牌。

当我使用基于浏览器的登录时,我看到zzz将我重定向到

代码语言:javascript
运行
复制
https://zzz.eu.auth0.com/login
   ?state=g6…mo
   &client=uz…6j
   &protocol=oauth2
   &response_type=token%20id_token
   &redirect_uri=https%3A%2F%2Ffoo.zzz.com%2Fcallback
   &scope=openid%20read%3Amore%20scopes…
   &audience=zz-api-prod
   &nonce=0G…L7
   &auth0Client=ey…n0%3D

(为了您的方便起见)

我现在可以手动输入用户名和密码,然后登录,这似乎是在执行以下步骤:

  • A POST to

https://zzz.eu.auth0.com/usernamepassword/login

带着一具身体

{ "client_id":"uz…6j","redirect_uri":"https://foo.zzz.com/callback"“,”租户“:”zzz“,"response_type":"token id_token”连接:“zzz-production user”,"username":"…“,"password":"…”,"nonce":"0G…“L7,"state":"g6…“mo","sso":true,"_intstate":"deprecated","_csrf":"fb…“KI,“听众”:“zzz-api-prod”,"auth0Client":"ey…“n0=",“作用域”:“openid读取:存储更多:作用域…”,“协议”:“oauth2”}

和的反应

  • 登录页面上的JS似乎按下了提交按钮,导致

https://zzz.eu.auth0.com/login/callback

重定向到

https://foo.zzz.com/callback #access_token=ey…7Q &scope=openid%20read%3Amore%20scopes…&expires_in=7200 &token_type=Bearer &state=%7B%7D &id_token=ey…Sg

…,它包含了我想要的宝贵访问令牌.

试图为这个精确的流编写脚本,这将涉及解析返回的HTML以提取wctxwresult参数,这是相当繁琐的。

所以我的问题是:

有没有一种方法可以让access_token以更方便的方式使用命令行curl编写脚本,或者使用一些简单的python代码/库?

我尝试过在auth0文档网站上发现的各种东西(例如https://auth0.com/docs/api-auth/tutorials/password-grant#realm-support),但无法让它们工作;这是因为它们需要在auth0设置中由zzz显式启用?

EN

回答 1

Stack Overflow用户

发布于 2020-08-05 22:19:31

正确的办法应该是将这两者分开:

  • 非人机工程学网站(Client A) --它使用隐式流(
  • Client B,您的命令行),它使用不同的flow

在Auth0中,您应该为客户机B配置一个新的OAuth客户端条目,它可能会使用不同的流--可能是您提到的密码授予。

您至少可以以这种方式获得一个令牌。API是否接受来自您的调用可能取决于其他设计方面。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63269868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档