2014-04-06 2 views
0

인증 메커니즘을 사용하여 RESTful 서비스를 구축했습니다. 인증은 OAuth 프로토콜과 함께 작동합니다 (oauth.net의 라이브러리 사용).OAuth 및 인증

내 서비스는 학교 관리 용입니다. 지금 내가 가진 것은 교사 패널 일뿐입니다. 이제는 학생 패널을 추가하고 싶습니다. 거의 동일하지만, 학생들이 편집 할 수 있기를 원하지 않습니다.이 경우 승인이 필요합니다.

교사는 로그인을 원할 때 'authentcation.php'에 게시물 요청을 보내고 필드가 유효한 경우 OAuth에서 인증 토큰을 다시받습니다. 학생들이 'authentication_students.php'에 로그인

토큰에 OAuth에서 권한으로 편집 할 권한이 있는지 여부를 어떻게 확인할 수 있습니까?

+0

OAuth는 위임 된 인증 및 인증 용이지만 실제로 "순수 인증"용입니다. 이것이 XACML의 목적입니다 ... –

답변

0

토큰 유효성 검사는 OAuth 2.0 사양에 의해 의도적으로 밝혀 지므로 정확하게 구현해야합니다. 서버는 보호 자원에 의해 토큰 유효성을 검사 할 수있는 사용자 정의 엔드 포인트를 제공하거나 클라이언트가 서버를 참조하지 않고 직접 해석 할 수있는 형식으로 토큰을 발행 할 수 있습니다 (예 : JWS : 서명이있는 json 웹 토큰 참조).

라이브러리를 사용중인 경우 지원하는 접근 방식을 확인할 수 있습니다.

토큰을 발급하면 교사와 학생에게 다른 범위 (사용자 역할과 유사)를 요청해야하므로 클라이언트에게 부여 된 토큰의 범위에 따라 보호 된 리소스에 대한 액세스를 허용하거나 거부 할 수 있습니다.

0

토큰에는 "canEdit"= true/false와 같은 클레임이 포함되어야합니다. 귀하의 경우 인증은 두 개의 다른 페이지에서 이루어 지므로이 주장을 채우는 것이 큰 문제는 아니어야합니다.

내가 완전히 떨어져 있는지 알려주시겠습니까? 내가 놓친 게 있니?

+0

하지만 어떻게 확인할 수 있습니까? 어떻게 토큰에서 canEdit 값을 얻을 수 있습니까? – nrofis