hotmail:使用PHP进行用户身份验证和联系人检索
我正在尝试编写一个PHP脚本,它将允许我做两件事:hotmail:使用PHP进行用户身份验证和联系人检索,php,oauth,hotmail,Php,Oauth,Hotmail,我正在尝试编写一个PHP脚本,它将允许我做两件事: 允许用户使用他们的Hotmail(我想它现在被称为“Live”?)帐户对网站进行身份验证 从Hotmail检索经过身份验证的用户联系人列表 在过去的6个小时里,我在互联网上搜索,寻找至少一个可以修改/扩展的工作示例来完成上述两件事。这里有几十个类似的问题,例如-所提供的答案中没有一个是有效的(诚然,有些问题是几年前提出的) 我尝试了微软的网站,下载了他们API的最新版本,它的发展速度似乎相当惊人。我终于找到了一个新的目标 我按照说明进行了操作,
PS:不,我对OpenInviter不感兴趣,它已经坏了。在上尝试Hotmail/MSN/Live导入,看看这是否是您希望的用户体验
如果它适合您,您可以使用我们的小部件或API。如果您想使用API,我们已经编写了一个用于方便您的应用程序。我基于每个服务提供商的单个数组编写了自己的oauth库。此数组包含执行身份验证和检索用户数据所需的所有数据。我用于msdn(即hotmail、outlook、xbox、msn)的阵列是: 三个oauth阶段(即“重定向用户”、“获取访问令牌”和“获取用户数据”)的每个阶段的参数都在
http_params
数组中。对于msdn,这些参数最终会出现在我用curl发送的url的查询字符串中(因为msdn只接受GET,不接受POST)
我还没有尝试检索用户的联系人通讯簿,但这只是一个扩展
范围
元素的例子,其中包含您需要的任何额外信息(这里有文档记录)。从http_params
数组中可以看到,scope
参数用于oauth的三个阶段。请确认您的回调url为http://如果您只放www.domain.com,则会出现此问题。听起来您应该查看@Dagon:Pray tell,您认为openid将如何帮助我使用Hotmail帐户对用户进行身份验证?@Dagon:openid用于身份验证-因此它只提供真实性,我无法确认Hotmail(与outlook.com相同)oauth是否正常工作。我目前正在为hotmail身份验证(用户注册和后续登录)开发我的网站,并在过去一周内进行了大量测试。我没有看到您的特定错误消息,因此可能是由于端点不正确或签名不正确造成的?@Mullhausen:也许您可以发布一段简单的代码片段,以便我可以对其进行测试—到目前为止,似乎没有任何效果?
We're unable to complete your request
Windows Live ID is experiencing technical difficulties. Please try again later.
$msdn = array
(
'oauth_version' => '2',
'oauth_method' => 'GET',
'redirect_user_params' => array
(
'url' => 'https://oauth.live.com/authorize',
'response_type' => 'code',
'http_params' => array
(
'url',
'client_id',
'redirect_uri',
'response_type',
'scope',
'state'
)
),
'obtain_access_token_params' => array
(
'url' => 'https://oauth.live.com/token',
'grant_type' => 'authorization_code',
'http_params' => array
(
'url',
'client_id',
'client_secret',
'code',
'grant_type',
'redirect_uri',
'scope'
)
),
'scope' => 'wl.signin wl.basic',
'obtain_user_data_params' => array
(
'url' => 'https://apis.live.net/v5.0/me',
'http_params' => array
(
'url',
'access_token',
'scope'
)
),
'client_id' => 'xxxxx', // = oauth_consumer_key in oauth 1.0 lingo
'client_secret' => 'xxxxxxxxxxxxxxx',
'readme_url' => 'http://msdn.microsoft.com/en-us/library/live/hh243647.aspx'
);