PHP에서 토큰을 사용하는 방법: 1. 클라이언트 사용자는 로그인하고 토큰을 요청하기 위해 사용자 이름과 비밀번호를 입력합니다. 2. JWT 사양을 사용하여 토큰을 생성합니다. 3. 토큰의 적시성을 확인합니다. 클라이언트는 토큰 요청 데이터를 얻습니다.
이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.1, Dell G3 컴퓨터.
토큰 PHP를 사용하는 방법은 무엇입니까?
PHP 토큰 생성 및 사용
프런트엔드와 백엔드를 분리하거나 여러 웹 애플리케이션을 지원하려면 원본을 사용하는 데 큰 문제가 있습니다. 쿠키 또는 세션
쿠키와 세션 인증은 인증을 수행하기 전에 동일한 기본 도메인 이름 아래에 있어야 합니다(현재 문제 해결을 위해 세션을 Redis에 저장할 수 있습니다).
oauth2 및 jwt
jwt: 보안 표준입니다. 기본 아이디어는 사용자가 인증 서버에 사용자 이름과 비밀번호를 제공하고 서버가 사용자가 제출한 정보의 적법성을 확인하는 것입니다. 확인에 성공하면 토큰(토큰)이 생성되어 반환됩니다.
OAuth2: 안전한 인증 프레임워크입니다. 시스템의 다양한 역할, 사용자, 서비스 프런트엔드 애플리케이션(예: API) 및 클라이언트(예: 웹사이트 또는 모바일 앱) 간에 상호 인증을 달성하는 방법을 자세히 설명합니다.
(jwt, 이 JSON 웹 토큰은 여기서 인증에 사용됩니다)
헤더: 암호화 유형
설명: 메시지 내용
키: 암호화할 임의의 코드
.을 사용하여 연결한 다음 hs256을 사용하여 암호화하여 토큰을 생성합니다.
1) 헤더는 일반적으로 토큰 유형(예: JWT)과 사용되는 암호화 알고리즘으로 구성됩니다. (예: SHA256 또는 RSA)
{ "alg": "HS256", "typ": "JWT" }
그런 다음 이 json은 Base64Url로 인코딩되어 첫 번째 부분이 됩니다
2). 페이로드는 선언입니다. 선언은 엔터티에 관한 것입니다.
{ "exp": "1525785339", "sub": "1234567890", "name": "John Doe", "admin": true }
페이로드는 Base64Url로 인코딩되어 두 번째 부분이 됩니다
(PS: 이 정보는 변조 방지되어 있지만 누구나 읽을 수 있습니다. 암호화되지 않은 한 중요한 정보를 내부에 넣지 마세요)
3 ). 암호화 키
4) 서명하려면 첫 번째 인코딩된 부분, 두 번째 인코딩된 부분, 키 키를 사용해야 합니다. 첫 번째 부분의 암호화 알고리즘을 사용하여 서명
HMACSHA256( base64UrlEncode(header) + "." + base64UrlEncode(payload), key )
이 서명은 메시지가 변조되었는지 확인하는 데 사용됩니다.
(PHP는 암호화를 위해 crypt 방식을 사용합니다. 참고: SHA-256은 변조 방지를 위해 사용되고 AES-256은 암호화를 위해 사용됩니다. 두 개념은 다릅니다.)
는 일반적으로 다음과 같습니다. 요청 헤더에 Authorization 필드는 Bearer 모드를 사용하여 JWT(Authorization: Bearer)를 추가합니다. (물론 클라이언트가 인식할 수 있는 한 URL 뒤에 매개변수로 전달하는 등 어디에나 배치할 수도 있습니다. , 하지만 JWT는 사양이므로 사양을 따르는 것이 좋습니다.)
추천 학습: "PHP Video Tutorial"
를 사용하는 것이 좋습니다.
위 내용은 토큰 PHP를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!