2016-10-13 2 views
1

콘솔 응용 프로그램을 사용하여 ADAL (Active Directory 인증 라이브러리)을 탐색 중입니다. 그리고 oauth를 사용하여 토큰을 검색하면 이전에 로그인 한 동일한 resourcename, clientid 및 user에 대해 검색된 토큰이 캐시됩니다. Win8.1 네이티브 응용 프로그램에서 정상적으로 작동하지만 콘솔 응용 프로그램과 작동하도록 관리 할 수는 없습니다. 다음은 Azure Active Directory 토큰 캐시 C# 콘솔 응용 프로그램

내가 토큰을 얻기 위해 사용하고있는 코드입니다 :

AuthenticationContext authContext = new AuthenticationContext("https://login.microsoftonline.com/{tenantGUID}/", false); 
var result = authContext.AcquireToken(APPResourceName, clientGUID, redirectUri, PromptBehavior.Auto); 

추측 컨대 PromptBehavior.Auto가 이러한 토큰이 푸른에 캐시되지 않은 경우에만 사용자에게 메시지를 표시하도록되어를, 나는이 작품을 말했듯 Win8.1 Native App에 완벽하게 포함됩니다. 또한 Native Win8.1 (데스크톱 UI 버전) 및 Console App (모바일 UI 버전)에서 프롬프트 메시지가 표시되면 프롬프트 인터페이스 (로그인 UI)가 약간 다르다는 사실을 알게 되었습니까?

일반적인 콘솔 응용 프로그램에서 작동하지 않는 이유를 지적 해 주실 수 있습니까?

답변

0

Tokencache는 알려진 기본 장소가 없기 때문에 .net 앱용 메모리에만 있습니다. Cache는 사용자가 원하는 저장소에 데이터를 읽고 쓸 수있는 대리자 후크를 제공합니다. win 8.1 네이티브 앱에서 스토어 앱을 의미한다고 가정합니다. 캐시는 다른 프로세스에서 샌드 박스로 보호되고 보호되는 앱의 저장 공간에 유지됩니다.

0

내가 아는 한 토큰은 로컬/세션 저장소 (웹 브라우저)에 저장되므로 Console App에서 토큰을 이런 방식으로 저장할 수있는 방법은 없습니다 (기본적으로 물론). 어쩌면 해결 방법이나 비슷한 것이있을 수 있습니다. Microsoft의 UWP는 JS와 같은 많은 기술에 의존 할 수 있습니다. 그렇다면 토큰을 저장할 수있는 기술과 같은 브라우저를 사용하게됩니다.

관련 문제