diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2019-02-25 04:18:09 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2019-02-25 04:18:09 +0900 |
| commit | 60c9a6528f10ab63ca03fd1012a63c08727492fb (patch) | |
| tree | 4066f51ce838649564b3db3606730c02e4d4fec2 /src/server/api/openapi | |
| parent | Improve doc (diff) | |
| download | sharkey-60c9a6528f10ab63ca03fd1012a63c08727492fb.tar.gz sharkey-60c9a6528f10ab63ca03fd1012a63c08727492fb.tar.bz2 sharkey-60c9a6528f10ab63ca03fd1012a63c08727492fb.zip | |
Improve doc
Diffstat (limited to 'src/server/api/openapi')
| -rw-r--r-- | src/server/api/openapi/description.ts | 23 | ||||
| -rw-r--r-- | src/server/api/openapi/gen-spec.ts | 2 |
2 files changed, 13 insertions, 12 deletions
diff --git a/src/server/api/openapi/description.ts b/src/server/api/openapi/description.ts index cc5f233c53..04a0b4c719 100644 --- a/src/server/api/openapi/description.ts +++ b/src/server/api/openapi/description.ts @@ -3,16 +3,16 @@ import config from '../../../config'; export const description = ` ## Usage **APIはすべてPOSTでリクエスト/レスポンスともにJSON形式です。** -一部のAPIは認証情報(アクセストークン)が必要です。リクエストの際に\`i\`というパラメータでアクセストークンを添付してください。 +一部のAPIはリクエストに認証情報(APIキー)が必要です。リクエストの際に\`i\`というパラメータでAPIキーを添付してください。 -### 自分のアカウントのアクセストークンを取得する -「設定 > API」で、自分のアクセストークンを取得できます。 +### 自分のアカウントのAPIキーを取得する +「設定 > API」で、自分のAPIキーを取得できます。 > アカウントを不正利用される可能性があるため、このトークンは第三者に教えないでください(アプリなどにも入力しないでください)。 -### アプリケーションとしてアクセストークンを取得する -直接ユーザーのアクセストークンをアプリケーションが扱うのはセキュリティ上のリスクがあるので、 -アプリケーションからAPIを利用する際には、アプリケーションとアプリケーションを利用するユーザーが結び付けられた専用のアクセストークンをMisskeyに発行してもらいます。 +### アプリケーションとしてAPIキーを取得する +直接ユーザーのAPIキーをアプリケーションが扱うのはセキュリティ上のリスクがあるので、 +アプリケーションからAPIを利用する際には、アプリケーションとアプリケーションを利用するユーザーが結び付けられた専用のAPIキーを発行します。 #### 1.アプリケーションを登録する まず、あなたのアプリケーションやWebサービス(以後、あなたのアプリと呼びます)をMisskeyに登録します。 @@ -25,8 +25,7 @@ export const description = ` #### 2.ユーザーに認証させる アプリを使ってもらうには、ユーザーにアカウントへのアクセスの許可をもらう必要があります。 -認証セッションを開始するには、[${config.apiUrl}/auth/session/generate](#operation/auth/session/generate) へパラメータに appSecret としてシークレットキーを含めたリクエストを送信します。 -リクエスト形式はJSONで、メソッドはPOSTです。 +認証セッションを開始するには、[${config.apiUrl}/auth/session/generate](#operation/auth/session/generate) へパラメータに\`appSecret\`としてシークレットキーを含めたリクエストを送信します。 レスポンスとして認証セッションのトークンや認証フォームのURLが取得できるので、認証フォームのURLをブラウザで表示し、ユーザーにフォームを提示してください。 あなたのアプリがコールバックURLを設定している場合、 @@ -34,14 +33,14 @@ export const description = ` あなたのアプリがコールバックURLを設定していない場合、ユーザーがあなたのアプリの連携を許可したことを(何らかの方法で(たとえばボタンを押させるなど))確認出来るようにしてください。 -#### 3.ユーザートークンを取得する +#### 3.アクセストークンを取得する ユーザーが連携を許可したら、[${config.apiUrl}/auth/session/userkey](#operation/auth/session/userkey) へリクエストを送信します。 -上手くいけば、認証したユーザーのユーザートークンがレスポンスとして取得できます。おめでとうございます! +上手くいけば、認証したユーザーのアクセストークンがレスポンスとして取得できます。おめでとうございます! -ユーザートークンが取得できたら、*「ユーザーのユーザートークン+あなたのアプリのシークレットキーをsha256したもの」*をアクセストークンとして、APIにリクエストできます。 +アクセストークンが取得できたら、*「ユーザーのアクセストークン+あなたのアプリのシークレットキーをsha256したもの」*をAPIキーとして、APIにリクエストできます。 -アクセストークンの生成方法を擬似コードで表すと次のようになります: +APIキーの生成方法を擬似コードで表すと次のようになります: \`\`\` js const i = sha256(userToken + secretKey); \`\`\` diff --git a/src/server/api/openapi/gen-spec.ts b/src/server/api/openapi/gen-spec.ts index c8b1c21de4..64da6edbeb 100644 --- a/src/server/api/openapi/gen-spec.ts +++ b/src/server/api/openapi/gen-spec.ts @@ -56,6 +56,7 @@ export function genOpenapiSpec(lang = 'ja-JP') { return { description: (param.data || {}).desc, default: (param.data || {}).default, + deprecated: (param.data || {}).deprecated, ...((param.data || {}).default ? { default: (param.data || {}).default } : {}), type: param.name === 'ID' ? 'string' : param.name.toLowerCase(), ...(param.name === 'ID' ? { example: 'xxxxxxxxxxxxxxxxxxxxxxxx', format: 'id' } : {}), @@ -97,6 +98,7 @@ export function genOpenapiSpec(lang = 'ja-JP') { for (const [k, v] of Object.entries(endpoint.meta.params)) { if (v.validator.data == null) v.validator.data = {}; if (v.desc) v.validator.data.desc = v.desc[lang]; + if (v.deprecated) v.validator.data.deprecated = v.deprecated; if (v.default) v.validator.data.default = v.default; porops[k] = v.validator; } |