summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2019-02-24 12:40:17 +0900
committersyuilo <syuilotan@yahoo.co.jp>2019-02-24 12:40:17 +0900
commitb8e0ec9edc6788dfea4dec02cb93558e7f5d2736 (patch)
treeabae00d84a790cbf4494817a596e76c723a0d536 /src
parentUpdate typescript to 3.3.3333 :rocket: (diff)
downloadsharkey-b8e0ec9edc6788dfea4dec02cb93558e7f5d2736.tar.gz
sharkey-b8e0ec9edc6788dfea4dec02cb93558e7f5d2736.tar.bz2
sharkey-b8e0ec9edc6788dfea4dec02cb93558e7f5d2736.zip
Improve doc
Diffstat (limited to 'src')
-rw-r--r--src/server/api/endpoints/auth/session/generate.ts6
-rw-r--r--src/server/api/endpoints/auth/session/show.ts6
-rw-r--r--src/server/api/endpoints/auth/session/userkey.ts12
-rw-r--r--src/server/api/openapi/description.ts29
4 files changed, 30 insertions, 23 deletions
diff --git a/src/server/api/endpoints/auth/session/generate.ts b/src/server/api/endpoints/auth/session/generate.ts
index b6bfb5590b..9473aa943a 100644
--- a/src/server/api/endpoints/auth/session/generate.ts
+++ b/src/server/api/endpoints/auth/session/generate.ts
@@ -13,7 +13,11 @@ export const meta = {
params: {
appSecret: {
- validator: $.str
+ validator: $.str,
+ desc: {
+ 'ja-JP': 'アプリケーションのシークレットキー',
+ 'en-US': 'The secret key of your application.'
+ }
}
},
diff --git a/src/server/api/endpoints/auth/session/show.ts b/src/server/api/endpoints/auth/session/show.ts
index 4287950f3e..992e0a499e 100644
--- a/src/server/api/endpoints/auth/session/show.ts
+++ b/src/server/api/endpoints/auth/session/show.ts
@@ -10,7 +10,11 @@ export const meta = {
params: {
token: {
- validator: $.str
+ validator: $.str,
+ desc: {
+ 'ja-JP': 'セッションのトークン',
+ 'en-US': 'The token of a session.'
+ }
}
},
diff --git a/src/server/api/endpoints/auth/session/userkey.ts b/src/server/api/endpoints/auth/session/userkey.ts
index d4c3d77772..49dde23ede 100644
--- a/src/server/api/endpoints/auth/session/userkey.ts
+++ b/src/server/api/endpoints/auth/session/userkey.ts
@@ -13,11 +13,19 @@ export const meta = {
params: {
appSecret: {
- validator: $.str
+ validator: $.str,
+ desc: {
+ 'ja-JP': 'アプリケーションのシークレットキー',
+ 'en-US': 'The secret key of your application.'
+ }
},
token: {
- validator: $.str
+ validator: $.str,
+ desc: {
+ 'ja-JP': 'セッションのトークン',
+ 'en-US': 'The token of a session.'
+ }
}
},
diff --git a/src/server/api/openapi/description.ts b/src/server/api/openapi/description.ts
index d15c745909..83250c3419 100644
--- a/src/server/api/openapi/description.ts
+++ b/src/server/api/openapi/description.ts
@@ -1,3 +1,5 @@
+import config from '../../../config';
+
export const description = `
## Usage
**APIはすべてPOSTでリクエスト/レスポンスともにJSON形式です。**
@@ -9,20 +11,12 @@ export const description = `
> アカウントを不正利用される可能性があるため、このトークンは第三者に教えないでください(アプリなどにも入力しないでください)。
### アプリケーションとしてアクセストークンを取得する
-直接ユーザーのアクセストークンをアプリケーションが扱うのは危険なので、
+直接ユーザーのアクセストークンをアプリケーションが扱うのはセキュリティ上のリスクがあるので、
アプリケーションからAPIを利用する際には、アプリケーションとアプリケーションを利用するユーザーが結び付けられた専用のアクセストークンをMisskeyに発行してもらいます。
#### 1.アプリケーションを登録する
まず、あなたのアプリケーションやWebサービス(以後、あなたのアプリと呼びます)をMisskeyに登録します。
[デベロッパーセンター](/dev)にアクセスし、「アプリ > アプリ作成」からアプリを作成してください。
-フォームの記入欄の説明は以下の通りです:
-
-| 名前 | 説明 |
-|---|---|
-| アプリケーション名 | あなたのアプリの名称。 |
-| アプリの概要 | あなたのアプリの簡単な説明や紹介。 |
-| コールバックURL | ユーザーが後述する認証フォームで認証を終えた際にリダイレクトするURLを設定できます。あなたのアプリがWebサービスである場合に有用です。 |
-| 権限 | あなたのアプリが要求する権限。ここで要求した機能だけがAPIからアクセスできます。 |
登録が済むとあなたのアプリのシークレットキーが入手できます。このシークレットキーは後で使用します。
@@ -31,27 +25,24 @@ export const description = `
#### 2.ユーザーに認証させる
アプリを使ってもらうには、ユーザーにアカウントへのアクセスの許可をもらう必要があります。
-認証セッションを開始するには、%API_URL%/auth/session/generate へパラメータに appSecret としてシークレットキーを含めたリクエストを送信します。
+認証セッションを開始するには、[${config.api_url}/auth/session/generate](#operation/auth/session/generate) へパラメータに appSecret としてシークレットキーを含めたリクエストを送信します。
リクエスト形式はJSONで、メソッドはPOSTです。
レスポンスとして認証セッションのトークンや認証フォームのURLが取得できるので、認証フォームのURLをブラウザで表示し、ユーザーにフォームを提示してください。
あなたのアプリがコールバックURLを設定している場合、
-ユーザーがあなたのアプリの連携を許可すると設定しているコールバックURLに token という名前でセッションのトークンが含まれたクエリを付けてリダイレクトします。
+ユーザーがあなたのアプリの連携を許可すると設定しているコールバックURLに\`token\`という名前でセッションのトークンが含まれたクエリを付けてリダイレクトします。
あなたのアプリがコールバックURLを設定していない場合、ユーザーがあなたのアプリの連携を許可したことを(何らかの方法で(たとえばボタンを押させるなど))確認出来るようにしてください。
#### 3.ユーザートークンを取得する
-ユーザーが連携を許可したら、%API_URL%/auth/session/userkey へ次のパラメータを含むリクエストを送信します:
-
-| 名前 | 型 | 説明 |
-|---|---|---|
-| appSecret | string | アプリのシークレットキー |
-| token | string | セッションのトークン |
+ユーザーが連携を許可したら、[${config.api_url}/auth/session/userkey](#operation/auth/session/userkey) へリクエストを送信します。
上手くいけば、認証したユーザーのユーザートークンがレスポンスとして取得できます。おめでとうございます!
-ユーザートークンが取得できたら、「ユーザーのユーザートークン+あなたのアプリのシークレットキーをsha256したもの」をアクセストークンとして、APIにリクエストできます。
+ユーザートークンが取得できたら、*「ユーザーのユーザートークン+あなたのアプリのシークレットキーをsha256したもの」*をアクセストークンとして、APIにリクエストできます。
アクセストークンの生成方法を擬似コードで表すと次のようになります:
-<pre><code>const i = sha256(userToken + secretKey);</code></pre>
+\`\`\` js
+const i = sha256(userToken + secretKey);
+\`\`\`
`;