我正在编写一个Html/Angular应用程序,并使用隐式流通过IdentityServer3进行身份验证。我已经完成了设置并正常工作,但我关心的是允许用户注册。
我知道我可以向登录流中注入一个注册链接,但这不是我感兴趣的。我希望用户注册,然后给他们发送一个确认电子邮件,等等。
这是我当前的设置:
1) xyz.com (angular前端)
2) api.xyz.com (webapi后台)
3) accounts.xyz.com (身份服务器)
我知道我可以通过调用api端点来进行用户注册,但我担心它可能不安全。在流程中的这一点上,我既没有令牌,也不能获得XSRF令牌,因为我没有使用ASP.NET MVC。我可以在我的注册端点上将CORS设置为只接受来自xyz.com的请求,但我认为这可以很容易地解决。
所以我的问题可以归结为:
我是否应该在前端用MVC替换我的angular应用程序,并对任何公共表单使用防伪令牌(即在用户登录之前)?
有没有其他方法/示例可以让我在IdentityServer上执行此操作,并拥有干净的UI流?
这是不是应该在IdentityServer之外完成,只让IdentityServer登录?
发布于 2017-03-11 06:47:54
解决此问题的一种方法是让API单独负责注册用户帐户。验证调用API的客户端是否具有将用户注册到系统中所需的权限是非常重要的。当然,前端应用程序仍然需要一个UI来注册,但实际的实现将在注册API中。因此,前端应用程序不必处理发送帐户验证电子邮件、用户名/电子邮件唯一性等的开销。
此API将是内部的,因此仍然需要在前端上有一个服务器端应用程序来负责调用此API。请记住,凭据只能在服务器端,而不能在任何前端代码中。
https://stackoverflow.com/questions/34906726
复制相似问题