单点登录是指用户在仅通过一次身份验证后,可以在多个应用程序中自由切换。
这意味着用户只需要一次登录信息,只要他点击指向其他应用程序的链接,安全信息就会自动从一个应用程序传递到另一个应用程序,用户就不会再输入登录信息了。当然,所有这些参与的应用程序都应该配置一个单点登录。
PeopleSoft应用有3种配置单点登录的方法:
1、PeopleSoft Only【PS_TOKEN Cookie】
2、PeopleSoft and Oracle Apps
3、PeopleSoft and Kerberos
本文中仅讨论‘PeopleSoft Only’方式,以及2个PeopleSoft应用程序之间如何实现单点登录。
在开始使用单点登录功能和设置之前,先来学习一点PS_TOKEN cookie的知识。
什么是PS_TOKEN cookie
PS_TOKEN是嵌入到peoplesoft 用户浏览器的内存中的cookie中的。只要cookie是有效的,用户就可以浏览peoplesoft应用程序,而不需要再次输入账号密码。
Note:如果在浏览器中禁用了cookie,用户将无法进入peoplesoft应用程序。
如何生成PS_TOKEN cookie
当用户在PeopleSoft应用程序中输入他的登录信息时,Webserver将该信息传递给PeopleSoft应用服务器。根据提供的信息,PeopleSoft应用服务器执行以下任务:
1、对用户进行身份验证
2、生成一个单点登录令牌
3、加密单个登录令牌
4、将令牌发送给Webserver,并使用指示该系统对用户进行身份验证的代码
应用服务器生成的单一登录令牌包含用户id、语言代码、发布系统(issuing syste)和签名的日期和时间
Signature = SHA1_Hash ( User ID + Language Code + Date and Time Issued + Issuing System + Local Node Password )
在从应用服务器接收单个登录令牌后,PeopleSoft Web服务器会生成pstoken cookie,然后将其插入到用户的浏览器内存中。pstoken cookie的数据值包含应用程序服务器生成的单个登录令牌。
PS_TOKEN cookie保留在用户的浏览器中,直到会话结束。
PS_TOKEN cookie有多安全
1、PS_TOKEN cookie驻留在浏览器内存中,不写到磁盘。
2、没有密码存储在cookie中
3、加密的。
4、包含数字签名
5、如果过期,cookie会失效
如何使用PeopleSoft单点登录
现在已经了解了PS_TOKEN cookie的生成,让我们只看两个PeopleSoft应用程序之间的单点登录过程。如果两个应用程序为HCM和FSCM,用户第一次登录到HCM(生成PS_TOKEN)。
当用户从HCM应用单击指向FSCM应用程序的链接时,将发生下面的步骤:
1、浏览器将PS_TOKEN cookie(由HCM生成)发送到FSCM Web服务器
2、FSCM Webserver看到登录令牌并没有显示在页面中,而是将PS_TOKEN cookie的数据字段发送到FSCM应用服务器进行身份验证和验证。
3、FSCM应用服务器在PS_TOKEN cookie的数据字段上执行验证检查。
检查1:转发节点是否可信?在FSCM应用程序中,在pstrustnode表中输入系统值应该是一个值得信赖的节点。
检查2:令牌过期了吗?-检查签发的日期和时间值,以确定标记是否已过期。在FSCM中设置到期值,而不是HCM应用程序的值集。如果HCM的有效期为40分钟,而FSCM的有效期为20分钟,那么FSCM(20)下的值设置为这个验证检查。
检查3:检查数字签名是否匹配?-使用令牌中的信息,FSCM应用服务器生成一个签名,然后将其与标记中的签名相匹配。
4、经过所有验证检查之后,FSCM应用服务器提供用户请求的信息。