Rest 通过旋度的OpenId

Rest 通过旋度的OpenId,rest,authentication,curl,openid,Rest,Authentication,Curl,Openid,如何使用Curl进行基于OpenId的身份验证? 首先,我能做吗? 当做 Allahbaksh我想您谈论的是curl命令行,而不是库。我还没有尝试过,但根据我对OpenID和curl的了解,这应该是可能的。但是,它不是完全自动化的。如果您想真正做到restful和泛型,您必须“解析”身份提供者和内容提供者登录页面的内容。如果您知道要去哪里,并且不介意将您的服务和客户(无hateoas)结合在一起,您可以首先向身份提供商进行身份验证,例如: curl -iSsL --user-agent 'Moz

如何使用Curl进行基于OpenId的身份验证? 首先,我能做吗? 当做
Allahbaksh

我想您谈论的是curl命令行,而不是库。我还没有尝试过,但根据我对OpenID和curl的了解,这应该是可能的。但是,它不是完全自动化的。如果您想真正做到restful和泛型,您必须“解析”身份提供者和内容提供者登录页面的内容。如果您知道要去哪里,并且不介意将您的服务和客户(无hateoas)结合在一起,您可以首先向身份提供商进行身份验证,例如:

curl -iSsL --user-agent 'Mozilla/5.0' --cookie cookies --cookie-jar  cookies \
       --data login=$mylogin \
       --data passwd=$mypasswd \
       https://identprovider.example.com/login
然后将您的OpenID发布到内容提供商:

curl -iSsL --user-agent 'Mozilla/5.0' --cookie cookies --cookie-jar  cookies \
              --data openid="$myopenidurl" \
              http://contentprovider.example.com/login
这假设内容提供商已经被授权使用身份提供商。 然后获取您的内容:

curl -iSsL --user-agent 'Mozilla/5.0' --cookie cookies --cookie-jar  cookies \
              http://contentprovider.example.com/interesting/content
注意,这种方法不是restful的,因为我硬编码了代码中的POST URI和字段。要分离客户端和服务器,必须从响应中提取URI和字段名。例如,在bash脚本中,可以使用
sed

我认为is应该可以工作,但如果不行,那么您必须真正遵循重定向并提取URI和表单,因为一些参数可以在重定向URI或隐藏表单字段中传递