如何在ember.js应用程序中处理验证
我刚开始学习Ember.js和SPA。 我在ASP.Net MVC / C#/ Razor中有一个背景。
认证如何工作? 在常规网站中,我只使用Oauth提供程序,当它返回经过身份验证的信息时,请创建表单身份验证票证。
我还没有找到任何关于auth的好内容/文章......特别是在ASP.Net上。
我迫不及待地想开始挖掘ember.js,但我知道这对我来说从一开始就很重要。
谢谢!
一般来说,在大多数Web应用程序中,Ember应用程序中的身份验证与身份验证没有太大区别。 如果会话尚未通过身份验证,您可以使用会话Cookie来识别登录到服务器上的用户并显示登录界面。
在传统的网络应用中,该检查和潜在的重定向将发生在页面请求上。 在Ember应用程序中,您可以在API请求上执行此操作,通常从您的路由器发送,如果API响应指示用户未登录,则转到显示用户用户名/密码表单的登录路由。 如果您使用的是OAuth,它将是一个类似的模式,但允许用户在该点启动OAuth流程。
替代方法
其他模式包括在您首次加载Ember应用的index.html页面时验证身份验证,或在API报告会话未登录时将Ember应用重定向到传统登录页面。
笔记
无论您的方法如何,重要的是您的每个服务器API都要验证您的用户是否已通过身份验证和授权。 另外,要意识到,无论权限如何,您通常都会将所有JS代码和Handlebars模板发送给所有用户。 这通常不是一个问题,因为JS或模板中没有敏感信息,但需要注意的事项。
更新:
我已经成为新[torii][1]
库的粉丝,提供一些简单的原语来处理认证,包括第三方服务。