我正在整合第三方应用程序。它将通过iframe嵌入到我的网站中。在实例化iframe时,会以这种格式向第三方应用发送用户名和唯一ID(sessionid):
http://www.thirdpartyapp.com?username=9999999&uuid=appname_11111_d3d379ab97c23930-154C9639-1CC4-6169-286F5EB34A37B3C3
一旦站点上的用户尝试使用Iframe中的任何功能,第三方应用程序就会将sessionid
发送回服务器,以验证会话是否已登录。
如果用户已登录,则应用程序会将Session.Auth.Authenticated
等会话变量设置为true。
我可以使用CFID
和CFTOKEN
来实现这一目标:
http://www.mysite.com/checkauth/index.cfm?CFID=2223344&CFTOKEN=40487e5933d11e75-F94396AF-1CC4-6169-28200888416FFC
第三方应用以以下格式发送请求:
http://www.mysite.com/checkauth/index.cfm?uuid=appname_11111_d3d379ab97c23930-154C9639-1CC4-6169-286F5EB34A37B3C3
基本上与我的网站提供的格式相同。有没有办法使用session.sessionid
检查经过身份验证的会话?
答案 0 :(得分:1)
“有没有办法检查使用过的身份验证会话 Session.sessionid?“
似乎有可能。 ColdFusion sessionid
由三件事组成:
appName_CFIDE_CFTOKEN
在您的情况下,第三方应用程序发送的请求的url参数格式与session.sessionId
相同:
appname_11111_d3d379ab97c23930-154C9639-1CC4-6169-286F5EB34A37B3C3
现在,如果您在“设置”部分的CF管理员中启用“使用UUID for cftoken”,您将获得如下所示的会话ID:
PLANTOMATIC_11201_1f8a073a0ba85bf5-2F7356F3-BE59-A0B4-F3E493BD794062C6
所以你需要做的是在CF Admin中应用“使用Uft ID for cftoken”设置。然后您可以向第三方发送请求,如下所示:
http://www.thirdpartyapp.com?username=9999999&uuid=#session.sessionid#
将使用参数“uuid”作出回应。之后,您可以检查是否相等并采取必要的步骤。