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