2012-02-22 2 views
2

WIF에서 제공하는 ASP.NET MVC + WCF를 사용하여 웹 응용 프로그램을 개발하고 있습니다. 활성 STS를 사용하고 있습니다. BootstrapToken이 만료되었지만 세션 만료로 인해 SessionSecurityToken이 유효 한 상황에 문제가 있습니다.WIF BootstrapToken이 만료되었습니다.

ID3242: The security token could not be authenticated or authorized.

  1. 내가 bootstraptoken 만료 시간을 연장 할 수 : 나는 예외가있어?
  2. SAM의 유효한 동작으로 쿠키 내의 부트 스트랩 토큰이 만료되었는지 여부를 확인하지 않습니다. 그것을 확인하는 가장 좋은 장소는 무엇입니까 - 세션 만료 기간을 변경 한 동일한 이벤트에서?

답변

1

SAM은 세션 쿠키에 부트 스트랩 토큰을 포함하지 않습니다. SAM이 세션을 확인하고 세션을 설정하면 기본적으로 부트 스트랩 토큰이 실제로 삭제됩니다. 따라서 귀하의 질문에 대답하십시오 :

  1. 부트 스트랩 토큰에 서명 한 ID 제공자 만 토큰의 수명을 제어 할 수 있습니다. SAM은 이것을 바꿀 수 없다.

  2. SAM은 인증 중에 만 부트 스트랩 만료 시간을 확인합니다. 이 작업이 완료되고 세션이 설정되면 SAM에는 더 이상 부트 스트랩 토큰이 필요하지 않습니다.

0

다음은이 post에서 내 대답의 사본입니다.

Microsoft의 ADFS (Active Directory Federation Services)를 사용하는 경우 AD FS 의존 당사자 토큰의 시간 제한을 조정/늘리면 부트 스트랩 토큰의 수명이 연장됩니다.

예를 들어 새로운 세션 토큰을 얻는 데 문제가 있었지만 AD FS 웹 SSO 시간 초과 전에 여전히 시간 초과가있었습니다. 개발자 중 한 명이 WIF (Windows Identity Foundation)의 부트 스트랩 토큰과 관련이있는 신뢰 당사자 토큰의 수명을 연장 할 수있는 설정을 발견했습니다.

설정은 다음과 같습니다 :

Set-ADFSRelyingPartyTrust -TargetName YourTargetName -TokenLifetime 480 

우리가 웹 SSO 토큰 제한 시간과 동일하게 신뢰 당사자 토큰의 제한 시간을 설정 한 후, 그것은했다.

참고 :

Get-ADFSRelyingPartyTrust -Name YourTargetName 

참고 II : 다음과 같은 명령을 사용하여 현재 신뢰 당사자 토큰의 제한 시간을 확인할 수 있습니다 당신은 AD의 FS 관리 도구를 열고 웹 SSO 토큰의 제한 시간을 확인할 수 있습니다 "AD FS를 클릭 왼쪽 탐색 창에서 오른쪽 창에있는 작업 창에서 "페더레이션 서비스 속성 편집 ..."을 클릭합니다.