2016-08-15 2 views
0

서버와 모바일 애플리케이션이 있습니다. 서버는 RESTful API를 제공하며 모바일 애플리케이션은이 API를 사용합니다. 승인 된 사용자 만 응답을받을 수 있도록 OAuth 2.0을 사용하고 싶었습니다. 즉,이 토큰을 사용하여 API 호출을 할 수 있도록 사용자가 로그인 할 때 모바일 앱이 액세스 토큰을 얻습니다.API 서버 및 모바일 애플리케이션 용 OAuth 2.0

일반적으로 OAuth는 리소스 소유자 (나와), 리소스 서버 (예 : Facebook) 및 클라이언트 (일부 타사 앱)가 존재하는 시나리오에서 사용됩니다. 제 경우에는 서버와 모바일 앱만 있습니다. 액세스 토큰을 얻으려면 필요한 경우 내 사용자 이름 & 암호를 사용하고 싶습니다. 내 질문은 다음과 같습니다.

  1. 제 서버와 응용 프로그램의 역할이 확실하지 않습니다.
  2. 어떤 종류의 흐름 (및/또는 승인 부여)을 구현해야합니까?

답변

1

모바일 응용 프로그램이 클라이언트이고 API 서버가 리소스 서버입니다. 두 엔티티를 모두 소유하고 있기 때문에 내가 찾고있는 그랜트 타입은 2-legged "Resource Owner Password Credentials"입니다. 나는 내 데이터베이스에 맞게 몇 가지 사소한 수정과 this 라이브러리를 사용하고 있습니다. 도와 줘서 고마워.

0

OAuth 2로 클라이언트를 인증해야하는 경우 자체 인증 서버에서 수행 할 수 있습니다. this과 같은 많은 오픈 소스 OAuth 2 서버를 사용할 수 있습니다.

또한 정확하게이 문제 도메인 용으로 빌드 된 OAuth을 살펴 보시기 바랍니다.

1

내 서버와 응용 프로그램이 어떤 역할을 담당하는지 알 수 없습니까?

https://tools.ietf.org/html/rfc6749#section-1.1에 따르면, 모바일 응용 프로그램은 클라이언트하고 편안하고 API를 호스팅하는 서버는 리소스 서버입니다.

어떤 종류의 흐름 (및/또는 승인 부여)을 구현해야합니까?

당신은 아마 관심이 @rsa는 지적 authorization code grant

이 ...

, 당신은 또한 자신의 인증 서버를 롤백해야합니다.