我正在创建一个网站,用户可以查看和修改他们的小部件。所有与小部件数据的交互都将通过RESTful Web服务在我的服务器上完成。例如,如果用户想要查看其小部件列表,则执行流程如下:
我考虑客户端和服务器可以共享一个秘密,
这听起来合理吗?
这是一个常见的要求,因此有没有实现相同功能的标准方法?据我所知,这超出了OpenID的范围,OAuth也不适用。
提前感谢。
- 用户12345访问
https://www.example.com/Login.htm
并通过服务器进行身份验证(在我的情况下通过OpenID提供者) - 然后,用户12345访问页面
https://www.example.com/Widgets.htm
- 服务器响应一个HTML页面和JavaScript将用于访问我的Web服务。
- 当HTML页面加载后,将调用JavaScript函数
getWidgets()
。getWidgets()
将调用我的Web服务https://www.example.com/Services/Widget/12345
- 该服务响应用户小部件的列表,另一个JavaScript函数
renderWidgets(widgets)
将更新HTML页面。
getWidgets()
将需要向我的Web服务提供一些身份验证。我不确定实现这一点的最佳方法是什么。我考虑客户端和服务器可以共享一个秘密,
getWidgets()
将向Web服务发送该秘密。服务器可以生成此秘密作为随机字符串(数字,GUID或任何内容),并在客户端请求初始HTML页面时将其包含在响应标头中。客户端将在向服务器发送请求时使用此秘密键。这听起来合理吗?
这是一个常见的要求,因此有没有实现相同功能的标准方法?据我所知,这超出了OpenID的范围,OAuth也不适用。
提前感谢。