【问题标题】:Client side rendering and authentication客户端渲染和身份验证
【发布时间】:2013-11-14 20:39:53
【问题描述】:
我正在构建一个 Web 应用程序,所有渲染都在客户端完成。浏览器将向服务器发出异步请求以获取各种资源并呈现页面。
应用程序当前使用 oauth 保护一些资源(POST 到一些端点以创建记录等)。如果我编写一个服务器端渲染组件,访问这些资源会将我带到 oauth 提供程序和其余部分的登录表单。
对于客户端渲染系统,我不确定如何去做。我不确定还需要哪些其他详细信息,因此我可以根据需要填写它们。
【问题讨论】:
标签:
authentication
single-page-application
restful-authentication
【解决方案1】:
如果用户尝试访问受限区域,您的服务器需要返回您的客户端会知道的内容并将用户重定向到登录页面。
例如,当用户需要登录时,您的服务器进行身份验证并返回这样的 JSON 对象:
{requireLogin: true, loginUrl: “https://login.com”}
然后,您的客户端代码接收该数据并进行重定向:
If(requireLogin===true)
Window.location(loginUrl);
这个项目完全按照您的要求完成了:
https://github.com/similik/similik
它遵循客户端呈现方法并实施了身份验证。