如何在ember.js应用中处理身份验证

本文关键字:处理 身份验证 应用 js ember | 更新日期: 2023-09-27 18:05:36

我刚刚开始学习Ember.js和SPA。我有ASP的背景。净MVC/c#/剃须刀。

身份验证是如何工作的?在一个普通的网站,我只是使用一个Oauth提供程序,当它返回与认证信息,创建一个表单的验证票。

我还没有找到任何好的tuts/文章涵盖auth…

我迫不及待地想开始深入研究ember.js,但我知道这对我来说从一开始就很重要。

谢谢!

如何在ember.js应用中处理身份验证

一般来说,Ember应用程序中的身份验证与大多数web应用程序中的身份验证没有太大区别。您使用会话cookie来标识已登录到服务器上的用户,如果会话尚未经过身份验证,则显示登录UI。

在传统的web应用程序中,检查&潜在的重定向将发生在页面请求上。在Ember应用程序中,你会在API请求上做这件事,通常从你的路由器内部发送,在API响应指示用户未登录的情况下,transition到一个logIn路由,向用户显示一个用户名/密码表单。如果您正在使用OAuth,它将是一个类似的模式,但允许用户在该点初始化OAuth流。

替代方法

其他模式包括当你第一次加载Ember应用的index.html页面时验证身份,或者当你的API报告会话没有登录时,从Ember应用重定向到传统的登录页面。

指出

无论采用何种方法,重要的是每个服务器api都要验证用户是否经过身份验证和授权。此外,要意识到你通常会将所有JS代码和Handlebars模板发送给所有用户,而不管权限如何。这通常不是一个问题,因为在JS或模板中没有敏感信息,但要记住一些事情。

更新:

我已经成为新的[torii][1]库的粉丝,它为处理包括第三方服务在内的身份验证提供了一些简单的原语。