Cas身份验证,Net Core WEB API + Angular,正确的流程是什么

时间:2020-10-16 14:13:42

标签: angular asp.net-core authentication cas

这是我的环境:

  • 后端:网络核心Web API
  • 前端:角度
  • Cas身份验证

我下面的所有测试均来自带有https的localhost开发(Visual Studio代码+ VS 2019),但在线托管的CAS服务器身份验证除外。

我需要对应用程序进行身份验证,因此用户必须登录才能请求Web api资源。

我目前所做的,但是不确定这是正确的解决方案:

  • net core Web api具有cas身份验证中间件(https://github.com/IUCrimson/AspNet.Security.CAS)。
  • Angular应用尝试通过http请求获取具有[authorize]属性的Web api资源。如果用户从未登录(没有cookie身份验证),则返回401未经授权。
  • http拦截器在角度捕获到此,并重定向到cas登录页面。用户登录并使用URL中的ST(服务票证)返回角度应用程序。
  • 角度调用Web api控制器/signin-cas?ticket=(来自cas客户端中间件)。 Web api获取对http:// my-cas / servicevalidate的请求进行验证的票证,从响应中获取用户信息,然后生成身份验证cookie。 现在我的角度应用程序已通过Cookie进行了身份验证,并且用户可以使用[authorize]属性访问api资源。

我不知道我是否一切正常-我还在寻求帮助。

我不确定流程,是我通过Web API还是通过请求my-cas / servicevalidate来验证票证的角度?

我尝试从http.get的角度进行尝试,但没有成功(总是出现CORS错误),但这是通过Web api进行的...

致谢,杰里

0 个答案:

没有答案
相关问题