Improve doc
This commit is contained in:
parent
57009057ae
commit
b8e0ec9edc
4 changed files with 30 additions and 23 deletions
|
@ -13,7 +13,11 @@ export const meta = {
|
||||||
|
|
||||||
params: {
|
params: {
|
||||||
appSecret: {
|
appSecret: {
|
||||||
validator: $.str
|
validator: $.str,
|
||||||
|
desc: {
|
||||||
|
'ja-JP': 'アプリケーションのシークレットキー',
|
||||||
|
'en-US': 'The secret key of your application.'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,11 @@ export const meta = {
|
||||||
|
|
||||||
params: {
|
params: {
|
||||||
token: {
|
token: {
|
||||||
validator: $.str
|
validator: $.str,
|
||||||
|
desc: {
|
||||||
|
'ja-JP': 'セッションのトークン',
|
||||||
|
'en-US': 'The token of a session.'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -13,11 +13,19 @@ export const meta = {
|
||||||
|
|
||||||
params: {
|
params: {
|
||||||
appSecret: {
|
appSecret: {
|
||||||
validator: $.str
|
validator: $.str,
|
||||||
|
desc: {
|
||||||
|
'ja-JP': 'アプリケーションのシークレットキー',
|
||||||
|
'en-US': 'The secret key of your application.'
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
token: {
|
token: {
|
||||||
validator: $.str
|
validator: $.str,
|
||||||
|
desc: {
|
||||||
|
'ja-JP': 'セッションのトークン',
|
||||||
|
'en-US': 'The token of a session.'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
import config from '../../../config';
|
||||||
|
|
||||||
export const description = `
|
export const description = `
|
||||||
## Usage
|
## Usage
|
||||||
**APIはすべてPOSTでリクエスト/レスポンスともにJSON形式です。**
|
**APIはすべてPOSTでリクエスト/レスポンスともにJSON形式です。**
|
||||||
|
@ -9,20 +11,12 @@ export const description = `
|
||||||
> アカウントを不正利用される可能性があるため、このトークンは第三者に教えないでください(アプリなどにも入力しないでください)。
|
> アカウントを不正利用される可能性があるため、このトークンは第三者に教えないでください(アプリなどにも入力しないでください)。
|
||||||
|
|
||||||
### アプリケーションとしてアクセストークンを取得する
|
### アプリケーションとしてアクセストークンを取得する
|
||||||
直接ユーザーのアクセストークンをアプリケーションが扱うのは危険なので、
|
直接ユーザーのアクセストークンをアプリケーションが扱うのはセキュリティ上のリスクがあるので、
|
||||||
アプリケーションからAPIを利用する際には、アプリケーションとアプリケーションを利用するユーザーが結び付けられた専用のアクセストークンをMisskeyに発行してもらいます。
|
アプリケーションからAPIを利用する際には、アプリケーションとアプリケーションを利用するユーザーが結び付けられた専用のアクセストークンをMisskeyに発行してもらいます。
|
||||||
|
|
||||||
#### 1.アプリケーションを登録する
|
#### 1.アプリケーションを登録する
|
||||||
まず、あなたのアプリケーションやWebサービス(以後、あなたのアプリと呼びます)をMisskeyに登録します。
|
まず、あなたのアプリケーションやWebサービス(以後、あなたのアプリと呼びます)をMisskeyに登録します。
|
||||||
[デベロッパーセンター](/dev)にアクセスし、「アプリ > アプリ作成」からアプリを作成してください。
|
[デベロッパーセンター](/dev)にアクセスし、「アプリ > アプリ作成」からアプリを作成してください。
|
||||||
フォームの記入欄の説明は以下の通りです:
|
|
||||||
|
|
||||||
| 名前 | 説明 |
|
|
||||||
|---|---|
|
|
||||||
| アプリケーション名 | あなたのアプリの名称。 |
|
|
||||||
| アプリの概要 | あなたのアプリの簡単な説明や紹介。 |
|
|
||||||
| コールバックURL | ユーザーが後述する認証フォームで認証を終えた際にリダイレクトするURLを設定できます。あなたのアプリがWebサービスである場合に有用です。 |
|
|
||||||
| 権限 | あなたのアプリが要求する権限。ここで要求した機能だけがAPIからアクセスできます。 |
|
|
||||||
|
|
||||||
登録が済むとあなたのアプリのシークレットキーが入手できます。このシークレットキーは後で使用します。
|
登録が済むとあなたのアプリのシークレットキーが入手できます。このシークレットキーは後で使用します。
|
||||||
|
|
||||||
|
@ -31,27 +25,24 @@ export const description = `
|
||||||
#### 2.ユーザーに認証させる
|
#### 2.ユーザーに認証させる
|
||||||
アプリを使ってもらうには、ユーザーにアカウントへのアクセスの許可をもらう必要があります。
|
アプリを使ってもらうには、ユーザーにアカウントへのアクセスの許可をもらう必要があります。
|
||||||
|
|
||||||
認証セッションを開始するには、%API_URL%/auth/session/generate へパラメータに appSecret としてシークレットキーを含めたリクエストを送信します。
|
認証セッションを開始するには、[${config.api_url}/auth/session/generate](#operation/auth/session/generate) へパラメータに appSecret としてシークレットキーを含めたリクエストを送信します。
|
||||||
リクエスト形式はJSONで、メソッドはPOSTです。
|
リクエスト形式はJSONで、メソッドはPOSTです。
|
||||||
レスポンスとして認証セッションのトークンや認証フォームのURLが取得できるので、認証フォームのURLをブラウザで表示し、ユーザーにフォームを提示してください。
|
レスポンスとして認証セッションのトークンや認証フォームのURLが取得できるので、認証フォームのURLをブラウザで表示し、ユーザーにフォームを提示してください。
|
||||||
|
|
||||||
あなたのアプリがコールバックURLを設定している場合、
|
あなたのアプリがコールバックURLを設定している場合、
|
||||||
ユーザーがあなたのアプリの連携を許可すると設定しているコールバックURLに token という名前でセッションのトークンが含まれたクエリを付けてリダイレクトします。
|
ユーザーがあなたのアプリの連携を許可すると設定しているコールバックURLに\`token\`という名前でセッションのトークンが含まれたクエリを付けてリダイレクトします。
|
||||||
|
|
||||||
あなたのアプリがコールバックURLを設定していない場合、ユーザーがあなたのアプリの連携を許可したことを(何らかの方法で(たとえばボタンを押させるなど))確認出来るようにしてください。
|
あなたのアプリがコールバックURLを設定していない場合、ユーザーがあなたのアプリの連携を許可したことを(何らかの方法で(たとえばボタンを押させるなど))確認出来るようにしてください。
|
||||||
|
|
||||||
#### 3.ユーザートークンを取得する
|
#### 3.ユーザートークンを取得する
|
||||||
ユーザーが連携を許可したら、%API_URL%/auth/session/userkey へ次のパラメータを含むリクエストを送信します:
|
ユーザーが連携を許可したら、[${config.api_url}/auth/session/userkey](#operation/auth/session/userkey) へリクエストを送信します。
|
||||||
|
|
||||||
| 名前 | 型 | 説明 |
|
|
||||||
|---|---|---|
|
|
||||||
| appSecret | string | アプリのシークレットキー |
|
|
||||||
| token | string | セッションのトークン |
|
|
||||||
|
|
||||||
上手くいけば、認証したユーザーのユーザートークンがレスポンスとして取得できます。おめでとうございます!
|
上手くいけば、認証したユーザーのユーザートークンがレスポンスとして取得できます。おめでとうございます!
|
||||||
|
|
||||||
ユーザートークンが取得できたら、「ユーザーのユーザートークン+あなたのアプリのシークレットキーをsha256したもの」をアクセストークンとして、APIにリクエストできます。
|
ユーザートークンが取得できたら、*「ユーザーのユーザートークン+あなたのアプリのシークレットキーをsha256したもの」*をアクセストークンとして、APIにリクエストできます。
|
||||||
|
|
||||||
アクセストークンの生成方法を擬似コードで表すと次のようになります:
|
アクセストークンの生成方法を擬似コードで表すと次のようになります:
|
||||||
<pre><code>const i = sha256(userToken + secretKey);</code></pre>
|
\`\`\` js
|
||||||
|
const i = sha256(userToken + secretKey);
|
||||||
|
\`\`\`
|
||||||
`;
|
`;
|
||||||
|
|
Loading…
Reference in a new issue