2013-03-19 6 views
2

타사 응용 프로그램을 통합하려고합니다. 그것은 iframe을 통해 내 사이트에 삽입됩니다. 사이트에서 사용자가 함수를 사용하려고하면SSO 인증을 위해 coldfusion 세션 ID 사용

http://www.thirdpartyapp.com?username=9999999&uuid=appname_11111_d3d379ab97c23930-154C9639-1CC4-6169-286F5EB34A37B3C3

: iframe을, 사용자 이름과 고유 ID (세션 id를) 인스턴스화 할 때이 형식으로 타사 응용 프로그램으로 전송됩니다 Iframe 내부에서 타사 앱은 sessionid을 서버에 보내 세션이 로그인되어 있는지 확인합니다.

사용자가 로그인하면 응용 프로그램에서 Session.Auth.Authenticated과 같은 세션 변수를 true로 설정합니다.

내가 CFID를 사용하여이를 달성 할 수 있어요

CFTOKEN과 같이 :

http://www.mysite.com/checkauth/index.cfm?uuid=appname_11111_d3d379ab97c23930-154C9639-1CC4-6169-286F5EB34A37B3C3

:

http://www.mysite.com/checkauth/index.cfm?CFID=2223344&CFTOKEN=40487e5933d11e75-F94396AF-1CC4-6169-28200888416FFC

타사 응용 프로그램 형식으로 요청을 보냅니다

기본적으로 내 사이트와 동일한 형식으로 요청합니다. session.sessionid을 사용하여 인증 된 세션을 확인하는 방법이 있습니까?

+0

iframe의 소스는 'http : //www.thirdpartyapp.com? username = 9999999 & uuid = appname_11111_d3d379ab97c23930-154C9639-1CC4-6169-286F5EB34A37B3C3'입니까? 이런 종류의 일은 대개 cfhttp 대화로 이루어집니다. – Travis

+0

@travis 예, iframe 소스가됩니다. 나는 그 sessionid를 사용하여 세션에 로그인 한 사용자의 유효성을 검사하는 방법에 관심이있다. – tan369

답변

1

" Session.sessionid를 사용하여 인증 된 세션을 확인할 수있는 방법이 있습니까?"

가능합니다. ColdFusion의 sessionid입니다 세 가지로 구성

귀하의 경우
 appName_CFIDE_CFTOKEN 

타사 응용 프로그램에서 보내는 요청의 URL 매개 변수의 형식이 session.sessionId으로 동일합니다

 appname_11111_d3d379ab97c23930-154C9639-1CC4-6169-286F5EB34A37B3C3 

이제 사용하도록 설정하면 " 설정 "섹션"에서 CF 관리자에서 "CFTOKEN에 대한 UUID를 사용하여 다음과 같은 세션 ID를 얻을 것이다 :

 PLANTOMATIC_11201_1f8a073a0ba85bf5-2F7356F3-BE59-A0B4-F3E493BD794062C6 

그래서 당신이해야 할 어떤 일을 적용하다 e CF Admin에서 "Use UUID for cftoken"을 설정하십시오. 그런 다음 다음과 같이 제 3 자에게 요청을 보낼 수 있습니다.

 http://www.thirdpartyapp.com?username=9999999&uuid=#session.sessionid# 

"uuid"매개 변수로 응답합니다. 그 후에 평등을 확인하고 필요한 조치를 취할 수 있습니다.