API認証認可

認証認可

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

...