[英]WebApi authentication with owin and LinkedIn auth provider under Asp.Net
我们有一个WebApi和Owin(.Net Framework 4.6)在Asp.Net下运行。 几个本地前端客户端(iO,android等)正在使用该api。 该API当前使用带有登录令牌和cookie身份验证的Microsoft登录名。 这有效,访问令牌随重定向的请求直接返回到客户端中的webView,我们能够使用Bearer令牌和另一个身份验证cookie访问我们的API。 现在,我们的任务是在该API中使用LinkedIn身份验证提供程序实现身份验证。 为了澄清:我们需要一个OWIN实现(没有AspNet.Core)。
我们可以使用该LinkedIn身份验证提供程序从webAPI中的LinkedIn获取访问令牌。 因此,我们在User.Identity.Claims中看到了令牌。 我们也可以再次将其退还给客户。 是的,这可能不是一个好主意,但是似乎不可能直接在浏览器/ webView中获取令牌,因为response_type = code是linkedIn身份验证所必需的。 使用response_type = token可以用于Microsoft身份验证。
无论如何,尽管我们已经检索了access_token,最终Web视图仍被重定向到以下URL: http ://10.0.2.2: 8108 /signin- linkedin ? 错误=不受支持的响应类型
请忽略我们暂时不使用https的情况。 主机仅用于测试,但重要的部分是附加的错误。
为什么会出现此错误? 谁调用此请求,尽管我们已经有了令牌,为什么会出现该错误?
另一个信息是,我们现在在客户端中拥有的访问令牌不能用于针对webAPI的身份验证。 因此,我们取回401未经授权。
也许我应该明确提到,我们也在api中使用cookie身份验证,当我们在webView中接收cookie时,它似乎可以正常工作,并且仅在正确的用户上下文中,我们才能调用受cookie身份验证保护的方法。
任何帮助深表感谢!
使用HTTPS之后,出现了unsupported_response_type错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.