jointrashposs/content/pl/docs/4.for-developers/api/token/2.miauth.md

76 lines
3.2 KiB
Markdown
Raw Normal View History

2023-12-31 05:26:43 +01:00
---
description: v12.27.0以降で使用できる、Misskey独自の簡素な認証方法について説明しています。
---
# MiAuth方式でのアクセストークン取得方式
アプリケーションを利用するユーザー(以下単に「ユーザー」と呼びます)のアクセストークンを取得するには、以下の手順で発行をリクエストします。
:::tip
以下に説明する方法は、アプリを作成せずインスタントにアクセストークンを発行する、MiAuthと呼ばれるものです。
- [よりおおく使われているOAuth方式でのアクセストークン取得方法もあります。](./oauth.md)
- [アプリ作成方式でのアクセストークン取得方法もあります(旧来型)。](./app.md)
:::
## Step 1
UUIDを生成する。以後これを**セッションID**と呼びます。
:::danger
このセッションIDは毎回生成し、使いまわさないようにしてください。
:::
## Step 2
アプリケーション認証フォームをユーザーのブラウザで表示させる。認証フォームは、以下の形式のURLで開くことができます:
```
https://{host}/miauth/{session}
```
ここで、
- `{host}`の部分は、ユーザーのサーバーのホストに置き換えます。通常ホストはユーザーが入力します。
- `{session}`の部分は、セッションIDに置き換えます。
また、URLにクエリパラメータとしていくつかのオプションを設定できます:
| 名前 | 説明 |
| ------------ | ----------------------------------------------------------------------------- |
| `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
```
ここで、
- `{host}`の部分は、ユーザーのサーバーのホストに置き換えます。
- `{session}`の部分は、セッションIDに置き換えます。
レスポンスに含まれるプロパティは以下の通りです:
| 名前 | 説明 |
| ------- | -------------- |
| `token` | ユーザーのアクセストークン。 |
| `user` | ユーザーの情報。 |