2017-03-27 9 views
1

현재 VSTS 응용 프로그램에서 작업하고 있지만 Visual Studio 계정을 사용하여 로그인하려고 할 때마다 권한 부여 대화 상자가 다시 표시됩니다. 매번 내 앱을 다시 인증해야하며, 앱이 등록 된 Visual Studio 프로필에 대한 인증을 계속 생성합니다.Visual Studio OWIN OAuth 공급자가 계속 인증합니다.

Authorizations

내가 비주얼 스튜디오의 OwinOauthProvider을 사용하고 있습니다. https://github.com/TerribleDev/OwinOAuthProviders/tree/master/src/Owin.Security.Providers.VisualStudio

프로 바이더를 구성하여 한 번만 인증하고 후속 로그인에는 인증을 사용하도록 설정하는 방법이 있습니까? 또는 내 앱에서 싱글 사인온을 만들고 VSTS API에 연결할 수있는 다른 제안 사항이 있습니까?

UPDATE :이 문제에

추가 링크 :

https://github.com/TerribleDev/OwinOAuthProviders/issues/135

https://visualstudio.uservoice.com/forums/330519-team-services/suggestions/9261621-bypass-oauth-grant-step-for-previously-authorized

(그것을 위해 투표 같은 발생하는 경우는)

+0

응용 프로그램의 세부 워크 플로는 무엇입니까? –

+0

복제가 아주 쉽습니다. app.vsaex.visualstudio.com에 내 애플리케이션을 등록했습니다. 개별 사용자 계정을 사용하여 빈 MVC 프로젝트를 새로 작성했습니다. Owin.Security.Providers.VisualStudio를 외부 로그인 공급자로 추가했습니다. 그리고 로그인 할 때마다 신청서를 다시 승인하도록 요청합니다. 이러한 모든 권한은 내 vsaex 프로필에도 표시됩니다. 예를 들어 Facebook을 사용하는 경우 한 번 승인하고 내 액세스가 만료되거나 취소 될 때까지 권한을 유지합니다. –

+0

이러한 OAuth의 경우 VSTS OAuth에 대한 동작이 다르며 각 외부 로그인에 동의가 필요합니다. –

답변

0

액세스 토큰이 및 새로 고침 토큰, 액세스 토큰은 한 시간 후에 만료되지만 새로 고침 토큰은 만료됩니다. 1 년.

따라서 사용자가 다시 권한을 부여받는 대신 새로 고침 토큰에 따라 액세스 토큰을 새로 고칠 수 있습니다. 이 스레드 (VSTS API Refresh Token Expires)를 기반으로

, 크리스토퍼는 말했다 :

우리는 분명히

이 업데이트 이전 부여 승인 취소 할 수있는 사용자의 권리 존중해야한다

:

I 분석을 전체 작업 흐름, 즉 설계 상으로는 VSTS 외부 로그인을 요청할 때 수락 페이지가 필요하며 코드 또는 다른 방법으로 제어 할 수 없습니다.

+0

나는이 스레드를 읽었습니다, 고마워요. 하지만 어떻게 관련이 있는지 모르겠다. 첫 번째 게시물에 대한 내 의견을 참조하십시오. –

+0

@WesleyvanHeije 관계는 VSTS OAuth를 사용하고 있으며, 외부 로그인을 요청할 때마다 수락 페이지가 필요합니다. –

+0

감사합니다. 새로 고침을 더 잘 활용하기를 원했기 때문에 매번 수락 페이지를 통과 할 필요가 없습니다. 특히 refreshtoken이 유효하기 때문에. 그렇지 않다면; 다시 받아 들여야한다는 것은 의미가 있습니다.하지만 app.vsaex에서 내 프로필에 승인을해서는 안됩니다. –