我有一个网站,用户必须通过单点登录(SAML SSO)才能访问该网站。该网站有一个GUI,用于输入信息并发送到服务器。
现在我正在构建一些RESTful api调用(没有GUI)。调用的URL如下所示:https://example.com/api/do-work。这个资源是一个python脚本。
但是,目前还没有针对这些呼叫的身份验证设置,我希望通过SSO进行身份验证。
我正在寻找通过linux命令行和curl命令执行此操作的选项。 curl命令将包括SSO通过数据标志所需的所有数据,如下所示:
curl --data "name=Bob&id=123456" https://example.com/api/do-work
然后在python脚本中我将构建SAML SSO请求。如果用户的详细信息有效,我会将结果返回给用户,否则告诉他们他们的凭据存在问题。
这是使用RESTful呼叫进行SSO的正确方法吗?
我也一直在关注JSON Web Tokens(JWT)作为一种可能的解决方案。
答案 0 :(得分:1)
SAML 2.0令牌很难通过RESTful请求发送,并且处理起来非常复杂。对于RESTful调用,JWT令牌更合适。通常,请求包含JWT令牌作为承载令牌。一个例子是 JWT Token in POSTMAN Header 这可以使用Curl。