通过REST API或OWIN从Microsoft Online OAuth验证Access_Token

时间:2018-06-24 23:06:49

标签: c# asp.net oauth single-sign-on owin

我正在使用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."
    }
}

0 个答案:

没有答案