번역을 도와주세요
이 문서는 커뮤니티에 의해 번역되었습니다. 번역 제출은 Crowdin에서 받고 있습니다. 여러분의 도움을 부탁드립니다 🙏
MiAuth 방식의 액세스 토큰 획득 방식
애플리케이션을 이용하는 사용자(이하 단순히 '사용자'라 칭함)의 액세스 토큰을 발급받으려면 아래 절차에 따라 발급을 요청합니다.
도움말
아래 설명할 방법은 앱을 만들지 않고 즉시 액세스 토큰을 발급하는 MiAuth라는 방법입니다.
Step 1
UUID를 생성합니다.이후 이를 세션 ID라고 부릅니다.
경고
이 세션 ID는 매번 생성해야 하며, 반복해서 사용하지 않도록 해야 합니다.
Step 2
애플리케이션 인증 양식을 사용자의 브라우저에 표시하도록 합니다.인증 양식은 다음 형식의 URL로 열 수 있습니다.
https://misskey.io/miauth/c1f6d42b-468b-4fd2-8274-e58abdedef6f?name=MyApp&callback=https%3A%2F%2Fmyapp.example.com%2Fcallback&permission=write:notes,write:following,read:drive
여기서,
{host}
부분은 사용자 서버의 호스트로 대체합니다.보통 호스트는 사용자가 입력합니다.{session}
부분은 세션 ID로 대체합니다.
사용자가 애플리케이션 접근을 허용한 후 다음 형식의 URL에 POST 요청하면 응답으로 액세스 토큰이 포함된 JSON이 반환됩니다.
이름 | 설명 |
---|---|
name | 애플리케이션 이름. |
icon | 애플리케이션 아이콘의 이미지 URL. |
callback | 인증이 끝난 후 리디렉션되는 URL. 리디렉션 시에는 session 이라는 쿼리 파라미터로 세션 ID가 붙습니다. |
permission | 애플리케이션이 요구하는 권한. 요청하는 권한을 , 로 구분하여 열거합니다.권한 목록은 여기에서 확인할 수 있습니다. |
例
https://misskey.io/miauth/c1f6d42b-468b-4fd2-8274-e58abdedef6f?name=MyApp&callback=https%3A%2F%2Fmyapp.example.com%2Fcallback&permission=write:notes,write:following,read:drive
Step 3
사용자가 애플리케이션 접근을 허용한 후 다음 형식의 URL에 POST 요청하면 응답으로 액세스 토큰이 포함된 JSON이 반환됩니다.
https://{host}/api/miauth/{session}/check
여기서,
- HTTP API는 모두 POST이며, 요청/응답 모두 JSON 형식입니다(drive/files/create 제외).
- 요청 헤더에
Content-Type: application/json
을 지정합니다.
응답에 포함된 속성은 다음과 같습니다.
이름 | 설명 |
---|---|
token | 사용자 액세스 토큰. |
user | 사용자 정보. |