使用 Ruby 向 OpenID 提供商请求信息
我目前在我的 Sinatra 应用程序中使用 ruby-openid gem 与 OpenID 提供程序一起工作,但我无法获取信息字段。
这是一个示例请求:
openid_url = 'blahblah'
resp = openid.begin(openid_url)
resp.add_extension_arg('sreg','required','email')
resp.add_extension_arg('sreg','optional','fullname,nickname,dob,gender')
redirect_url = response.redirect_url('http://localhost:4567', 'http://localhost:4567/complete')
redirect redirect_url
解析结果字段:
info = response.extension_response('sreg',true)
我可以使用大多数提供商登录,例如 Google、Yahoo、myOpenId,... 但问题是:我无法从他们那里获得电子邮件信息。另外,我无法从 Google 的 openid 获取任何信息。
那么,如何解决这个问题呢?我做错了什么吗?
Im currently using ruby-openid gem to work with OpenID providers within my Sinatra application, but i cannot get information fields.
This is an example request:
openid_url = 'blahblah'
resp = openid.begin(openid_url)
resp.add_extension_arg('sreg','required','email')
resp.add_extension_arg('sreg','optional','fullname,nickname,dob,gender')
redirect_url = response.redirect_url('http://localhost:4567', 'http://localhost:4567/complete')
redirect redirect_url
Parse result fields:
info = response.extension_response('sreg',true)
I can login with most providers like Google, Yahoo, myOpenId, ...
But the problem: i cant get the email information from all of them. Also, i cant get any information from Google`s openid.
So, how to solve this? Am i doing something wrong ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论