我一直在考虑将Open ID Connect用作Web API应用程序的第三方身份验证提供程序。流程如下:
https://daehwa.azurewebsites.net/api/Account/ExternalLogins?returnUrl=%2F&generateState=true
#id_token=xxxxx
查看以下SO文章:asp.net web api 2: how to login with external authentication services?
然后,我应该可以致电/api/Account/UserInfo
但是这总是会返回401 Unauthorized
。设置Authorization: Bearer token
似乎没有任何帮助,即使在尝试拨打/api/Account/RegisterExternal
时也始终未经授权。
只是为了向您提供有关我要执行的操作的更多信息,我想创建一个帐户或至少进行后续OAuth调用以检索其电子邮件地址及其显示名称,理想情况下避免再次向用户请求此信息。但是现在我只想让身份验证真正起作用!
我真的很感激任何人都可以提供帮助。我是第三方认证新手,我觉得我错过了一些关键的东西。我认为我的返回网址是问题,我的服务器需要处理此令牌并向我发出另一个令牌,但不太确定。
谢谢, 杰拉德