有两个站点。主站点为用户提供认证逻辑,第二站点作为主站点的附加服务,拥有自己的数据库、代码、技术等。这两个网站由不同的团队拥有。第二个站点应该能够对用户进行身份验证,但不能访问主站点的数据库和代码,并且托管在不同的域上。
现在,身份验证的工作方式如下:
。第二个站点显示登录页面,其中在iframe中加载了主站点的登录表单。
2 。当用户输入凭据并单击enter时,所有身份验证逻辑都将通过主站点,用户仅通过主站点进行身份验证。
3 。主站点通过http(s)发送请求,通知第二站点需要通过用户的一些唯一标识符(电子邮件)登录的用户。
4 。第二个站点接收来自主站点的请求,简单地创建身份验证cookie,而不需要任何验证,甚至不需要能够访问用户凭据(因为主站点的iframe中的登录表单)。
下一个问题出现在这里:
—对主站点到第二站点的消息进行加密。第二个站点使用asp.net mvc,但是主站点可以使用任何不同的技术。每条消息都可以包含额外的信息,例如主站点的登录名和密码。
这里可以使用哪种加密方式对通过站点的消息进行加密?也许有人知道在站点之间进行这种交互的更合适的方法。这样做的主要目的是为了方便主站点和第二站点之间的集成。
提前感谢,迪玛。
这里可以使用哪种加密方式对通过站点的消息进行加密?
一个symmetric encryption algorithm
如AES
似乎是一个合乎逻辑的选择。两个站点将共享一个公共密钥,第一个站点将使用该密钥加密数据,第二个站点将使用该密钥解密数据。