如何使用 Curl 进行基于 OpenId 的身份验证?
首先我能做到吗?
问候,
阿拉巴克什
我想你正在谈论curl命令行,而不是库。我没有尝试过,但是根据我对OpenID和curl的了解,应该是可以的。但是,还没有完全自动化。如果您想要真正轻松和通用,则必须“解析”身份提供商和内容提供商登录页面的内容。如果你知道你要去哪里并且不介意将你的服务和客户端耦合起来(没有仇恨),你可以首先向身份提供者进行身份验证,例如:
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
请注意,这种方法并不安全,因为我在代码中对 POST uri 和字段进行了硬编码。为了解耦客户端和服务器,必须从响应中提取 uri 和字段名称。在 bash 脚本中,您可以使用sed
例如。
我认为这应该可行,但如果不行,那么您必须真正遵循重定向并提取 URI 和表单,因为某些参数可以在重定向 URI 或隐藏表单字段中传递。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)