使用ASP.NET Web API打开ID Connect Authorization

时间:2015-10-16 10:37:33

标签: c# asp.net asp.net-web-api oauth openid-connect

我一直在考虑将Open ID Connect用作Web API应用程序的第三方身份验证提供程序。流程如下:

  • 用户通过带有iPhone应用程序的UIWebView登录到https://daehwa.azurewebsites.net/api/Account/ExternalLogins?returnUrl=%2F&generateState=true
  • 的提供者URL
  • 重定向到支持Open ID Connect身份验证的第三方网站。
  • 用户通过此网站登录,并使用#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调用以检索其电子邮件地址及其显示名称,理想情况下避免再次向用户请求此信息。但是现在我只想让身份验证真正起作用!

我真的很感激任何人都可以提供帮助。我是第三方认证新手,我觉得我错过了一些关键的东西。我认为我的返回网址是问题,我的服务器需要处理此令牌并向我发出另一个令牌,但不太确定。

谢谢, 杰拉德

0 个答案:

没有答案