2013-08-02 1 views
0

: 나는 REST API를 가지고있는 단 하나의 백엔드로REST API를 인증 I는 다음과 같이 작동하는 응용 프로그램 건물입니다

을 (JSON 만 해당) 심포니 프레임 워크 2.3.2 + FOSRESTBundle로 구축 .

이 API는 처음에 두 개의 클라이언트가됩니다

  • 안드로이드 기기에서 실행중인 앱;
  • API와 동일한 서버에서 실행되는 AngularJS로 제작 된 웹 앱입니다.

나는 각 회사가 자신의 역할을 자신의 사용자로 등록 할 수있는 회사를 등록합니다.이 사용자는 일반적인 전자 메일/암호 양식을 통해서만 웹 응용 프로그램에 액세스 할 수 있습니다.

회사는 제한된 수의 Android 기기를 등록하여 IMEI (휴대 기기 용 국제 고유 식별 코드)로 식별 할 수 있습니다.이 기기는 IMEI를 사용하여 API에 인증합니다.

Android 기기는 제한된 리소스 집합에만 액세스 할 수 있으며 웹 앱 사용자는 역할에 허용되는 모든 항목에 액세스 할 수 있습니다.

내가이 필요합니다

  • 안전하고 통일 된 방법은 모두를 인증하기 위해, 웹 응용 프로그램의 이메일/비밀번호로 사용자 및 안드로이드 장치를 자신의 IMEI에 의해;
  • 액세스 할 수있는 리소스를 제한하십시오.

관찰 :

  • 나는 API 서버에서 HTTPS 있습니다.

어떻게 할 수 있습니까?

+0

FOSOAuthServerBundle을보고 다른 유형의 OAuth 인증을 사용하십시오. –

+0

@Pazi 이미 확인했지만 필자의 경우 적절한 보조금 유형을 확인할 수 없습니다. 당신이 나를 도울 수? –

답변

0

FOS 사용자 번들을 받으십시오. 사용자 엔티티에서 유형 속성을 추가하여 어떤 유형의 사용자인지 확인할 수 있습니다 (시작하기 쉽습니다). 다른 사용자 역할을 정의 할 수도 있습니다 (체크 아웃 할 가치가 있음). 그런 다음 "IMEI"속성을 만듭니다. 이제 사용자 계정을 통합했습니다.

AngularJS로 로그인하려면 FOS User Bundle 코드를 살펴보십시오. "username"과 "password"값을 양식에서 가져 와서 번들에서 처리하는 방법을 살펴보십시오. 그런 다음이 메소드를 사용하여 REST API로 사용자에게 로그인 할 수 있습니다.

IMEI 사용자의 경우 "symfony2에서 프로그래밍 방식으로 로그인하는 방법"에 대한 Google 검색을 수행 할 수 있습니다. 그런 다음 IMEI 번호 만 확인 (암호 없음)하고 사용자에게 로그인하는 자체 코드를 작성할 수 있습니다.

+0

이미 장치 엔터티 (IMEI 포함)와 사용자 엔터티가 구분되어 있습니다. 내가 어떻게 그들을 사용할 수 있을지 생각해? –

+0

둘 사이에 OneToOne 관계를 만들 수 있습니다. – Flip

관련 문제