2011-05-10 6 views
2

Plone 사용자 (즉, 웹 사이트에 등록한 다음 휴대 전화에서 앱을 즐길 필요가 있음)를 사용해야하는 iPhone/Android 앱을 만들기 시작합니다.Plone을 사용하여 휴대 기기 사용자 인증

이 작업을 수행하는 가장 좋은 방법은 무엇입니까? OAuth 또는 다른 기술을 사용하는 일부 응용 프로그램을 보았습니다. 현재이 응용 프로그램은 Plone4 (4.0.3)를 지원합니다.

LDAP 서버 (OpenLDAP)에 사용자가 있지만 Plone에 로그인하여 휴대 전화로 데이터를 보내고 검색 할 수 있어야합니다.

답변

5

당신은 3 가지 옵션을 가지고, 당신이 선택하는에 따라 무엇을 당신의 능력은 당신이 투자하고자하는 얼마나 많은 시간 :

는 사용자가에 사용자 이름과 암호를 입력 되세요 기본 인증 앱에 연결하고 HTTP BasicAuth 헤더를 사용하여 사이트에 액세스하면됩니다. Plone은 기본 인증을 기본적으로 지원합니다.

가장 안전한 방법은 아닙니다. 암호는 기본적으로 base64로 인코딩되어 전송되므로 HTTPS를 사용하여 서버와 통신 할 수 있습니다. 어쨌든 인증을위한 좋은 아이디어.

쿠키 인증

는 플론 (Plone) 사이트에서 __ac_name__ac_password 항목에 '/ login_form'로 POST 요청을 전송하고, __ac 쿠키를 포함, 응답에 Set-Cookie 헤더를 캡처합니다. 이것은 이후의 요청에서 사용할 수있는 tk-auth 인증 토큰입니다. 이는 안전한 쿠키이지만 HTTP 통신 스트림을 스니핑하는 모든 공격자가이를 다시 사용할 수 있으므로 HTTPS가 안전한 통신 수단입니다.

OAuth를

플론 (Plone)하지 않습니다 (아직) 지원 상자의 OAuth를하지만, python-oauth과 통합하는 것은 사소한해야한다. 이렇게하려면 PluggableAuthSystem (PAS) 플러그인을 작성해야합니다.

+0

Martijn이 설명한 "쿠키 인증"방법을 사용하는 사람이라면 POST 요청에 __ac_name 및 __ac_password와 함께 "cookies_enabled"를 추가해야합니다. 파이어 버그를보고 깨달을 때까지 나는 화가났다. – gforcada

+0

oops는 이전의 코멘트를 잊어 버렸습니다. 모든 조합을 시도 했으므로 쿠키 작동을 만드는 "form.submitted = 1"입니다. – gforcada

관련 문제