2010-05-26 3 views
0

나는 좋고 깨끗한 API를 만들고 싶습니다. 사이트를 만들고있어 모바일 앱에 내 사이트의 웹 API를 사용할 수있는 기능을 제공하고 싶습니다.웹 api에서 간단한 승인

oAuth를 사용하고 싶지 않습니다. 웹 브라우저를 가져 오거나 제어 할 수 없으므로 가장 큰 장애물을 겪고있는 모바일 및 임베디드 응용 프로그램 때문입니다. 또한 조금 복잡합니다.

나는 HTTP 기본 승인이 안전하지는 않지만 매우 간단하다는 것을 알고있다. 나는 그것을 API에서 사용하고 싶다. mysql베이스에 somee 사용자 로그인과 암호 (md5-encoded)가 있지만이 HTTP 기본 권한 부여에서이 데이터를 사용하는 방법은 무엇입니까?

답변

1

데이터베이스의 각 사용자에 대해 임의의 고유 한 문자열을 생성하고 해당 문자열을 최종 사용자가 사용할 수있게하십시오. 그들이 api에 액세스 할 때 당신이 제공 한 고유 한 문자열을 입력하도록 요청하십시오 - 이것이 그들의 '핵심'입니다. 사용자 앱이 API에 액세스 할 때마다 고유 한 계정에 직접 연결되는 키를 전달하고 권한을 부여하는 방식입니다. 본질적으로 사용자 이름과 암호입니다.

위의 예는 일반적으로 보안과 같은 것을 고려해야합니다 (예 : 가능한 경우 모바일에서 장치 ID를 전달하여 인증 중에 사용하거나 API 중에 현재 암호 해시 사용). 키를 생성 할 때 비밀번호를 변경하면 키가 작동을 멈추고 새 키를 얻어야합니다. 키를 분실해도 액세스를 제어 할 수 있습니다.

복잡 할 필요는 없으며 단지 안전해야합니다. =)

+0

아주 좋은 생각 인 것 같습니다, 정말 고마워요 :) – monthon1

0

PHP 매뉴얼은 "기본 PHP의 HTTP"예
나타나서 질문을 구글을 가지고 있으며, 여기 당신은
http://php.net/manual/en/features.http-auth.php

는 몇 HTTP 헤더를 보내는 것만큼이나 간단하다.

더 안전하지만 클라이언트와의 호환성이 낮은 것으로 간주되는 다이제스트 권한 부여에 유의하십시오.