2015-01-17 10 views
1

OAuth 용 OWIN을 사용하는 Katana/TopShelf에서 실행중인 웹 API가 있습니다.OWIN OAuth Windows 서비스 대 콘솔 응용 프로그램의 잘못된 권한 부여 오류

웹 서비스를 Windows 서비스로 설치하면 리소스 소유자 흐름 (grant_type = password, username = x, password = y)을 통한 POST가 400 잘못된 요청 (invalid_grant)을 반환한다는 것을 제외하고 모든 것이 올바르게 응답합니다.

같은 원격 주소의 동일한 요청을 사용하여 명령 줄 모드에서 실행되는이 시간을 제외하고는 동일한 폴더에서 실행되는 똑같은 웹 API가 성공적으로 수행됩니다.

유일한 델타는 콘솔 모드에서 직접 .exe 파일을 실행하는지 또는 Windows 서비스로 설치하고 시작하는지 여부입니다.

나는 이것이 네트워크 수준에서의 충돌이라고 생각해야하지만 Windows 서비스는 단지 동일한 HttpListener 기반 호스트 주위의 씬 호스트로 작동합니다.

답변

1

Topshelf에서 이와 같은 문제가 발생할 때마다 거의 항상 허가 관련 사항입니다. 권한이 있지만 서비스 사용자에게는없는 리소스가 있습니다. 서비스에 액세스하는 디스크 또는 유사한 자원이 있습니까?

+0

Windows 서비스가 동일한 관리 사용자로 로그인되어 있습니다. 콘솔 모드로 실행 파일을 실행할 때 서비스로 설치할 때 찾아 볼 가치가 있습니다. Katana OAuth는 내부적으로 암호화 후 토큰을 디스크에 덤핑 할 수 있습니다. 소스 코드를 확인해야합니다. –