認証認可
MANBO API v1のAPIを利用するには、アクセストークンをリクエストに含める必要があります。
アクセストークン
アクセストークンは、以下のようにAuthorizationリクエストヘッダに含められます。
Authorization: Bearer 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcd
スコープ
個々のアクセストークンには、幾つかのスコープを紐づけられます。スコープはアクセストークン発行時にアプリケーションが指定でき、アプリケーションを利用するユーザはどのスコープが要求されているかを認可画面で確認できます。アクセストークンが適切なスコープを持っているときのみ、APIを介したデータ操作が許可できます。なお、認証が不要なAPIについては、どのスコープも必要としません。本APIでは以下の4つのスコープを提供しています。例えば、read_manbo
スコープを持っていないアクセストークンでは、MANBOからデータを読み出すことはできません。また、write_manbo
を持っていないアクセストークンでは、MANBOにデータを書き込むことはできません。
スコープ | 許可される操作 |
---|---|
read_manbo | MANBOからデータを読み出す |
read_manbo | MANBOにデータを書き込む |
GET /api/v1/oauth/authorize
アクセストークンを発行するには、アプリケーションのユーザに認可画面を表示する必要があります。ユーザがアプリケーションからのアクセスを認可すると、アプリケーション登録時に指定されたURLにリダイレクトされます。このとき、リダイレクト先のURLクエリにcode
が付与されます。また指定した場合はstate
も付与されます。アプリケーションでは、このcode
を利用して、POST /api/v1/access_tokens
にリクエストを送り、アクセストークンを発行します。
- client_id
- 登録されたAPIクライアントを特定するためのIDです。40桁の16進数で表現されます。
- Example:”a91f0396a0968ff593eafdd194e3d17d32c41b1da7b25e873b42e9058058cd9d”
- scope
- アプリケーションが利用するスコープをスペース区切りで指定できます。
- Example:”read_manbo write_manbo”
- state
- CSRF対策のため、認可後にリダイレクトするURLのクエリに含まれる値を指定できます。
- Example:”bb17785d811bb1913ef54b0a7657de780defaa2d”
GET /api/v1/oauth/authorize?client_id=a91f0396a0968ff593eafdd194e3d17d32c41b1da7b25e873b42e9058058cd9d&scope=read_manbo+write_manbo&state=bb17785d811bb1913ef54b0a7657de780defaa2d HTTP/1.1
Host: api.manbo.link
HTTP/1.1 200
Content-Type: text/html
...