메뉴

Login

2016년 6월 3일 - Authentication

로그인 API는 이메일과 비밀번호를 이용하여 로그인을 하는 경우와, Facebook, Instagram 계정을 이용하여 로그인을 하는 경우에 따라 아래와 같이 3가지 Endpoint를 제공합니다.

이메일 주소와 비밀번호를 이용하여 로그인하는 경우

Endpoint

POST /{api_version}/auth/login/email

POST Parameters

[
	'email' => ['required', 'max:255', 'email', 'exists:users,email'],
	'password' => ['required'],
]

email

필수 파라미터이며, 이메일 형식이어야 하고, 최대 길이는 255자 입니다. users 테이블에 저장된 email 칼럼 값 중 일치하는 것이 있어야 합니다.

password

필수 파라미터 입니다.

Response Structure

이 Endpoint는 처리 결과에 따라 아래 3가지 응답을 반환합니다.

POST 파라미터가 유효하지 않은 경우

HTTP Status Code: 422: Unprocessable Entity

응답 예시:

{
	"meta": {
		"code": 422,
		"error_type": "ValidationException",
		"error_message": "Unprocessable Entity"
	},
	"data": {
		"{파라미터}": [
			"{에러 메세지.}"
		]
	}
}

로그인에 성공한 경우

HTTP Status Code: 200 OK

응답 예시:

{
	"meta": {
		"code": 200
	},
	"data": {
		"user": {
			"id":"#",
			...
			"api_token":"{API 토큰}"
		}
	}
}

로그인에 실패한 경우

HTTP Status Code: 401: Unauthorized

응답 예시:

{
	"meta": {
		"code": 401,
		"error_type": "Unauthorized",
		"error_message": "The login credentials are invalid."
	},
	"data": {
		"status": "authentication_failed"
	}
}

Facebook 계정을 이용하여 로그인하는 경우

Instagram 계정을 이용하여 로그인하는 경우