gpt4 book ai didi

php - 有没有更好的方法从提供者那里获取 OpenID 信息?

转载 作者:可可西里 更新时间:2023-11-01 12:39:00 24 4
gpt4 key购买 nike

我是 OpenID 逻辑的新手。我正在使用 Cakebaker 的 CakePHP OpenID 组件和 JanRain 的 PHP OpenID 库。

一切都运行良好,但我找不到一种详尽的方法来根据提供者和方法(sreg 与 ax)检索用户信息。所以这就是我想出的:

if ($axResponse) {
if (is_array($a = $axResponse->get('http://axschema.org/contact/email'))) {
$user_record['email'] = $a[0];
if (is_array($b = $axResponse->get('http://axschema.org/namePerson'))) {
$user_record['nickname'] = $b[0];
}
} else if (is_array($a = $axResponse->get('http://schema.openid.net/contact/email'))) {
$user_record['email'] = $a[0];
if (is_array($b = $axResponse->get('http://schema.openid.net/namePerson'))) {
$user_record['nickname'] = $b[0];
}
}
} else if ($sreg) {
if (isset($sreg['email'])) {
$user_record['email'] = $sreg['email'];
}
if (isset($sreg['nickname'])) {
$user_record['nickname'] = $sreg['nickname'];
}
}

虽然我在 Google、Yahoo! 上测试成功和 AOL 的 OpenID,我敢肯定我会遇到其他/较小的提供商的麻烦。有没有更好更好的方法来达到相同的结果?如果我尝试获取其他可选字段,这似乎特别有缺陷......

最佳答案

请记住,OpenID 是用户身份验证标准,而不是数据访问授权标准。当然,您可以使用 OpenID 获取某些用户信息,但这不是该协议(protocol)的主要目的。 OAuth 是授权标准,如果您需要获取用户数据,您可能希望从它开始。

关于php - 有没有更好的方法从提供者那里获取 OpenID 信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3771812/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com