2013-08-13 2 views
0

나는 응용 프로그램 응용 프로그램에 B에서 세션 인증을 유지하는 방법을 만들어야합니다,하지만 난 사용 할수 없어 :HTTP GET 메서드 만 사용하여 인증을 수행하는 방법은 무엇입니까?

  • SSO
  • POST는

및 호출 , 우리는 GET이 좋은 선택이 아니라는 것을 알고 있습니다. 그러나 그것을 사용할 필요가 있습니다. 그래서 나는 "공개 키"와 같은 것을 사용한다고 생각합니다.이 접근 방식에 대해 어떻게 생각하십니까?

  1. 사용자

    이 응용 프로그램 A. 응용 프로그램 A를 속으로
  2. 에 인증을 신청 B로 링크를;

    나는 생각 사용자가이 링크를 클릭하십시오.

  3. 응용 프로그램 "공개 키"(데이터베이스 영구 인증 키)를 보내는 열린 응용 프로그램 B 페이지
  4. 응용 프로그램 B는이 키의 유효성을 검사하고 사용자를 허가하지 않거나 승인하지 않습니다.

답변

1

3 단계에서 "공개 키"를 생각하는 대신 "세션 토큰"을 생각해보십시오. 구체적으로는 독특한 단락 생활되어야

http://b.application.com?token=123-3-2-1-3-2-2-1-2-32-3-5-2-4-5245

토큰 B 리디렉션.

B 다음 연락처 직접과 세션 토큰 뒤의 정체성에 대해 묻는다 :

http://a.application.com/userservice/getuser/123-3-2-1-3-2-2-1-2-32-3-5-2-4-5245

가 직접 B 접촉하기 때문에, 사용자가 유효하지 않은 토큰을 위조 할 방법이 없다 - 임의의 토큰 A에 존재하지 않는 세션을 가리킬뿐입니다.

관련 문제