Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 正在检索Steam帐户的OpenID数据,是否返回null?_Php_Oauth_Openid - Fatal编程技术网

Php 正在检索Steam帐户的OpenID数据,是否返回null?

Php 正在检索Steam帐户的OpenID数据,是否返回null?,php,oauth,openid,Php,Oauth,Openid,我使用LightOpenID for PHP来验证和检索数据 对于我正在使用的OpenID提供程序URL,如文档所示- Steam OpenID提供程序Steam可以充当OpenID提供程序。这允许 您的应用程序不需要 让他们在你的网站上输入他们的Steam用户名或密码 将违反API使用条款。)只需下载一个OpenID 适合您选择和使用的语言和平台的库 作为提供者。返回者声称 ID将包含用户的64位流ID。声明的ID格式为: 我已经指定了我请求的所需数据数组- $openid->requ

我使用LightOpenID for PHP来验证和检索数据

对于我正在使用的OpenID提供程序URL,如文档所示-

Steam OpenID提供程序Steam可以充当OpenID提供程序。这允许 您的应用程序不需要 让他们在你的网站上输入他们的Steam用户名或密码 将违反API使用条款。)只需下载一个OpenID 适合您选择和使用的语言和平台的库 作为提供者。返回者声称 ID将包含用户的64位流ID。声明的ID格式为:

我已经指定了我请求的所需数据数组-

$openid->required = array(
                        'namePerson',
                        'namePerson/first',
                        'namePerson/last',
                        'namePerson/friendly',
                        'contact/email',
                        'email');
我已经确保我的代码正常工作,并与谷歌和雅虎等其他提供商进行了测试

我尝试使用Steam登录,我已通过身份验证,但当我想使用
$openid->getAttributes()检索有关用户的数据时数组返回空

我做了更多的调查,看来Steam也通过它的。我想我可以使用OpenID帐户授权中的64位Steam ID来请求数据,但这需要一个API密钥,并用PHP解析数据

有没有一种方法可以使用OpenID请求此数据?还是我必须通过Steam的API手动解析所有内容

Steam可以充当OpenID提供者。这允许您的应用程序验证用户的Steam ID,而无需他们在您的站点上输入Steam用户名或密码(这将违反API使用条款)

这回答了你问题的一部分? 他们只使用openId进行身份验证——仅此而已。在另一部分的回答中,我应该说-是的,您应该从steam获得服务密钥,并使用GetPlayerSummaries方法来获得您想要的。解析不会有问题,因为它们支持多种返回格式(我将使用JSON)