ActiBookOne API Documents (1.0.0)

API概要

SSO(シングルサインオン)とは、1組のIDとパスワードによる認証を1度行うだけで、連携している複数のシステムに自動でログインできる仕組みです。

お客様サイトのアカウント情報1つでWebサイトにログイン後、ActiBook公開サイトにも自動でログインしてアクセスすることができます。

「OAuth認証」を採用しており、レスポンスボディにてjson形式で返却されます。

スタートガイド

1.「ActiBook SSO連携」画面から認証情報を取得

ActiBook側で発行された「クライアントID」「クライアント秘密鍵」をWebサイトの該当箇所に設定し、ActiBook管理画面上で「キーワード」と「グループ」を紐づけ保存します。 Sample Image

2. 認証情報を使用してトークンを取得

ActiBook管理画面で生成された「クライアントID」と「クライアント秘密鍵」を使って、「アクセストークン発行API」をコールして一時的利用するアクセストークンを取得する

3. トークンを使用してAPIをコールする

「アクセストークン発行API」より取得されたアクセストークンを使って、適切なキーワードを引き渡して「代理ログインAPI」をコールして、リダイレクトURLを取得して遷移させる ※リダイレクトURL生成される前に、ActiBook側は自動的にサイトユーザが生成される

ActiBook SSO連携

アクセストークン発行

クライアント認証してアクセストークンを発行する

Request Body schema: application/json
grant_type
required
string

承認タイプ

"client_credentials" (固定値)

client_id
required
string

クライアントID

連携先毎に発行するクライアントID

client_secret
required
string

クライアントセキュリティキー

連携先毎に発行するセキュリティキー

Responses

Request samples

Content type
application/json
{
  • "grant_type": "client_credentials",
  • "client_id": "s6BhdRkqt3",
  • "client_secret": "7Fjfp0ZBr1KtDRbnfVdmIw"
}

Response samples

Content type
application/json
{
  • "token_type": "Bearer",
  • "expires_in": 1800,
  • "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiI5NWFhYzg1OC0wNmU3LTQ3N2YtODE5NS1iNGY3MTYzOTVmZGEiLCJqdGkiOiIyYzViZDEzNGVkZTVkNzczY2RlNzdlNTEyZTdiZTUwOTVkOGVkZTcyZDBkZjUxOGY2ZjkyN2EwYmRkOWI2Yjc2ZmI0ZDM1NTIxNzc2OTRlZiIsImlhdCI6MTY0NTY5NTIzMC44Mzk4MTYsIm5iZiI6MTY0NTY5NTIzMC44Mzk4MTcsImV4cCI6MTY0NTY5NzAzMC44MTUxNzQsInN1YiI6IjQiLCJzY29wZXMiOltdfQ.E-K1B2DCTyMA71akb2BXg3N9ehh1VdVhAYy9Xn3BMmbBYDi9-g9cutTFiBhKKq9M3H2cZjw3nAFOCoNGQufBig"
}

代理ログイン

他システムからActiBookOneのサイト側へ代理ログインするAPI

※ ActiBookへの代理ログイン時に公開サイトのHOME画面以外の特定コンテンツへ遷移したい場合

代理ログインAPIをリクエストした際にレスポンスされる「redirect_url」の後部に、以下の形式に従い"target_uri"パラメータを付与してください。

形式:

https://site001.actibookone.com/sso/login/xxxxxxxxxxxxxxxxxxxxx?target_uri={UrlEncode(Base64(コンテンツのURL))}

※コンテンツのURLのドメインと公開サイトのドメインは同一であること

例:コンテンツのURL:

https://site001.actibookone.com/content/detail?param=eyJjb250ZW50TnVtIjoyNTk1OTd9&detailFlg=0&pNo=1

上記「コンテンツのURL」をBase64エンコードした結果:

aHR0cHM6Ly9taWthbWktdGVzdC5hY3RpYm9va29uZS5jb20vY29udGVudC9kZXRhaWw/cGFyYW09ZXlKamIyNTBaVzUwVG5WdElqb3lOVGsxT1RkOSZkZXRhaWxGbGc9MCZwTm89MQ==

上記「Base64によりエンコードした結果」をUrlエンコードした結果:

aHR0cHM6Ly9taWthbWktdGVzdC5hY3RpYm9va29uZS5jb20vY29udGVudC9kZXRhaWw%2FcGFyYW09ZXlKamIyNTBaVzUwVG5WdElqb3lOVGsxT1RkOSZkZXRhaWxGbGc9MCZwTm89MQ%3D%3D

「redirect_url」の後部に"target_uri"パラメータを付与する(実際に利用するコンテンツへ遷移するURL):

https://site001.actibookone.com/sso/login/xxxxxxxxxxxxxxxxxxxxx?target_uri=aHR0cHM6Ly9taWthbWktdGVzdC5hY3RpYm9va29uZS5jb20vY29udGVudC9kZXRhaWw%2FcGFyYW09ZXlKamIyNTBaVzUwVG5WdElqb3lOVGsxT1RkOSZkZXRhaWxGbGc9MCZwTm89MQ%3D%3D
header Parameters
Content-Type
required
string
Example: application/json

「application/json」指定

Authorization
required
string
Example: Authorization: Bearer xxxyyyzzz

認証情報 トークンタイプとトークンを半角スペースで区切って引き渡す

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "parameters": {
    }
}

Response samples

Content type
application/json
{}