2012-12-06 2 views
0

내 API는 "공식적인"앱과 타사 앱을 지원해야합니다. 공식 앱의 경우 사용자가 로그인 후 명시 적으로 액세스 권한을 부여하지 못하도록합니다."허용"화면없이 access_token으로 리디렉션 할 수 있습니까?

http://official.service.tdl과 같은 것으로 redirect_uri를 제한하는 한 "허용"화면을 건너 뛸 수 있습니다. 아니면 이것이 내가 생각하지 않은 보안 함의가 있습니까?

답변

0

공식 앱의 경우 기밀 클라이언트 인 경우 client credentials grant을 사용할 수 있습니다. 공식 앱처럼 들리 겠지만 API는 사전 설정된 관계를 유지하고 조직은 액세스 서버를 제어합니다. client credentials grant에서 클라이언트는 액세스 서버와 직접 대화하고 API와 함께 사용할 토큰을 가져올 수 있습니다. 당신이 리디렉션 URI 기업에서 때 사용자 인증을 우회 할 경우

, 당신은 특정

In order to prevent such an attack, the authorization server MUST 
ensure that the redirection URI used to obtain the authorization code 
is identical to the redirection URI provided when exchanging the 
authorization code for an access token. The authorization server 
MUST require public clients and SHOULD require confidential clients 
to register their redirection URIs. If a redirection URI is provided 
in the request, the authorization server MUST validate it against the 
registered value. 

에, Authorization Code Redirection URI Manipulation 봐야한다 그리고 당신은 당신이 열려있는이없는 만들 필요가있다 리디렉션 URI와 일치하는 리디렉션

또는 사용자가 한 번 액세스 권한을 부여하고 새로 고침 토큰을 사용하여 액세스 권한을 다시 인증 할 필요가 없도록 할 수 있습니다.

0

리디렉션 URI가 클라이언트 브라우저에서 나오기 때문에 URI가 공식 URI에서 오는 것처럼 보이도록 누군가가 브라우저를 설정하지 않는다고 보장 할 수 없습니다. 그런 다음 타사 응용 프로그램이 명시 적 액세스를 우회하는 경우 어떤 보안 문제가 발생하게됩니까?

관련 문제