项目描述
翻译我们已经有一个功能正常的Web应用程序及其自己的账户系统,我们并不要求您从头开始重写它。任务是不同的:在现有行为的基础上添加单点登录,以便用户可以通过他们已经信任的提供者进行授权。对于常规客户,这些是熟悉的社交登录按钮,对于企业客户,则是能够连接他们自己的身份提供者,以便员工可以使用工作凭据登录。工作的本质是仔细集成和正确性,而不是发明一个新的登录界面:结果应该看起来像当前界面的一部分,而不是一个附加的块在一旁。
具体来说,您需要为社交提供者实现标准的OAuth流程和企业身份的SAML流程,安全处理返回和令牌交换,并确保可靠的令牌刷新,以便用户在工作中不会被踢出。价值的重要部分是将接收到的身份映射到应用程序中已有的角色和权限:一个传入的账户应该落入正确的组并具有正确的访问权限,而未知或未确认的用户应该得到正确处理。现有的本地账户必须继续工作,当电子邮件匹配时,我们希望合理地将外部身份绑定到现有账户,而不创建重复项。
我们要求您将安全性视为项目的意义,而不是附加内容。我们期望状态和随机数验证,防止重放和令牌泄漏,将秘密存储在客户端之外,以及关于所有内容如何被测试的简要说明。预算和截止日期如下,我们准备在开始之前讨论一个简要的书面计划。
— 通过OAuth登录多个社交网络,集成到当前界面中
— 企业提供者的SAML流程与元数据交换
— 可靠的令牌刷新和会话,无强制注销
— 将传入身份的角色和权限映射到我们的组中
— 通过确认的电子邮件绑定到本地账户,无重复项
— 安全说明:状态,随机数,重放保护,秘密
具体来说,您需要为社交提供者实现标准的OAuth流程和企业身份的SAML流程,安全处理返回和令牌交换,并确保可靠的令牌刷新,以便用户在工作中不会被踢出。价值的重要部分是将接收到的身份映射到应用程序中已有的角色和权限:一个传入的账户应该落入正确的组并具有正确的访问权限,而未知或未确认的用户应该得到正确处理。现有的本地账户必须继续工作,当电子邮件匹配时,我们希望合理地将外部身份绑定到现有账户,而不创建重复项。
我们要求您将安全性视为项目的意义,而不是附加内容。我们期望状态和随机数验证,防止重放和令牌泄漏,将秘密存储在客户端之外,以及关于所有内容如何被测试的简要说明。预算和截止日期如下,我们准备在开始之前讨论一个简要的书面计划。
— 通过OAuth登录多个社交网络,集成到当前界面中
— 企业提供者的SAML流程与元数据交换
— 可靠的令牌刷新和会话,无强制注销
— 将传入身份的角色和权限映射到我们的组中
— 通过确认的电子邮件绑定到本地账户,无重复项
— 安全说明:状态,随机数,重放保护,秘密
网页编程 现金, 银行转账