mirror of
https://iceshrimp.dev/Crimekillz/jointrashposs.git
synced 2024-11-25 10:19:07 +01:00
77 lines
3.2 KiB
Markdown
77 lines
3.2 KiB
Markdown
|
---
|
||
|
description: v12.27.0 이상에서 사용할 수 있는 Misskey만의 간단한 인증 방법을 설명합니다.
|
||
|
---
|
||
|
|
||
|
# MiAuth 방식의 액세스 토큰 획득 방식
|
||
|
|
||
|
애플리케이션을 이용하는 사용자(이하 단순히 '사용자'라 칭함)의 액세스 토큰을 발급받으려면 아래 절차에 따라 발급을 요청합니다.
|
||
|
|
||
|
:::tip
|
||
|
|
||
|
아래 설명할 방법은 앱을 만들지 않고 즉시 액세스 토큰을 발급하는 MiAuth라는 방법입니다.
|
||
|
|
||
|
- [더 많이 사용되는 OAuth 방식으로 액세스 토큰을 획득하는 방법도 있습니다.](./oauth.md)
|
||
|
- [앱 생성 방식으로 액세스 토큰을 획득하는 방법도 있습니다(구식).](./app.md)
|
||
|
|
||
|
:::
|
||
|
|
||
|
## Step 1
|
||
|
|
||
|
UUID를 생성합니다.이후 이를 **세션 ID**라고 부릅니다.
|
||
|
|
||
|
:::danger
|
||
|
|
||
|
이 세션 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.<br> 리디렉션 시에는 `session`이라는 쿼리 파라미터로 세션 ID가 붙습니다. |
|
||
|
| `permission` | 애플리케이션이 요구하는 권한.<br> 요청하는 권한을 `,`로 구분하여 열거합니다.권한 목록은 [여기](./permission.md)에서 확인할 수 있습니다. |
|
||
|
|
||
|
:::tip{label='例'}
|
||
|
|
||
|
```
|
||
|
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` | 사용자 정보. |
|