我正在使用ASP.NET Web窗体和OWIN通过Microsoft Online单点登录到Web服务。可以通过以下方式完成:
app.UseMicrosoftAccountAuthentication(ClientId = ..., ClientSecret = ...)
我已经设置了一个CustomMicrosoftAuthProvider,它允许我通过context.AccessToken获取访问令牌。
太好了。现在,我希望能够验证此Access_Token。使用Google OAuth API,这确实非常容易-我通过REST调用了一个验证终结点,就完成了。
但是对于Microsoft来说,我找不到清晰/良好的文档来证明如何验证此访问令牌?是否有REST API可以传递访问令牌并对其进行验证?还是有类似的API,我可以在其中传递访问令牌并获取用户的电子邮件地址,或者如果无效则获得401?
如果以上都不存在,是否有某种方法可以通过ASP.NET OWIN API执行此操作?
非常感谢您的帮助!
更新:我尝试对此URL进行GET,其中从上下文中获取ACCESS_TOKEN。AccessToken:
https://apis.live.net/v5.0/me?access_token=ACCESS_TOKEN
但是,它会产生此错误:
{
"error": {
"code": "request_token_invalid",
"message": "The access token isn't valid."
}
}