メインコンテンツまでスキップ
バージョン: 1.0.0

ログインと認証機能

User Account Connect APIを使用してパートナー企業のサービスからユーザーのDOSIアカウントでログインできます。

接続情報

開発環境API base URI
プロダクション環境https://api.dosi.world

使用手順

DOSIユーザーがパートナー企業のサービスにログインするようにしたり、ユーザー情報を取得したりするには、以下の手順に従う必要があります。

GoogleアカウントでDOSIにログインするには、Gmailアカウントを使用します。Google Workspaceアカウントは使用できません。

1.DOSIユーザー認証のリクエスト

Authorization endpoint(https://members.dosi.world)に認証リクエストを送信してください。その際、以下のサービス情報をクエリパラメータとして渡す必要があります。

パラメータ説明
client_idDOSI SDK利用申請後に受け取ったDOSIのチャネルID
stateOAuth Flow検証用のランダムな文字列
modeOAuth Flowモード。常に"oauth"にしてください。
redirect_uriユーザーログイン後にリダイレクトするURI
scope提供されるユーザープロフィール情報グループ。常に"basic"にしてください。
code_challengePKCEで使用するcode challengeの値。クライアントがモバイルアプリの場合は、必ず指定する必要があります。
code_challenge_method文字列の暗号化方法。クライアントがモバイルアプリの場合は、必ず入力する必要があります。値は常に"S256"です。

以下は呼び出しの例です。

https://members.dosi.world?client_id=17XEvciBbskwvvddn0m_&state=hiubweiriuqukjdsfsdrwe&mode=oauth&redirect_uri=https%3A%2F%2Fprofile.dosi.world%2F

DOSIは、このリクエストを受け取ると、サービス接続承認画面(ログインしていない場合はログイン画面)を表示します。ユーザーがその画面で作業を承認すると、DOSIはredirect_uriで認証コード(authorization code)を発行します。

2.アクセストークンの処理

1の作業が完了した後、発行された認証コードでアクセストークン(access token)を発行します。アクセストークンを発行または更新エンドポイントでリクエストできます。

3.ユーザープロフィールの取得

2の作業後、発行されたアクセストークンでユーザープロフィールを取得します。ユーザーの拡張プロフィールの取得エンドポイントでプロフィールをリクエストできます。

アクセストークンの発行または更新

認証コード(authorization code)でアクセストークン(access token)を発行、またはリフレッシュトークン(refresh token)でアクセストークンを更新します。

POST {API base URI}/api/v1/oauth2/token

Path

None

Query

None

Body

Name
TypeDescription
Required
grant_typestring

リクエストタイプ。以下のいずれかを選択してください。

  • "authorization_code":アクセストークンの発行をリクエストする
  • "refresh_token":アクセストークンの更新をリクエストする
codestring

アクセストークンを発行するユーザーの認証コード。grant_typeが"authorization_code"の場合のみ指定してください。 DOSI認証リクエストで送信されるredirect_uriから認証コードを取得できます。

client_idstring

DOSI SDK利用申請後に取得したDOSIのチャネルID

client_secretstring

DOSI SDK利用申請後に取得したDOSIのチャネルシークレット

refresh_tokenstring

アクセストークンを更新するリフレッシュトークン。grant_typeが"refresh_token"の場合のみ指定してください。 リフレッシュトークンは、このエンドポイントを呼び出し、最初にアクセストークンが発行されるときに取得できます。

必ず最新のリフレッシュトークンを入力してください。期限切れのリフレッシュトークンを送信すると、リフレッシュトークン保護ルールに従って、すべてのアクセストークンとリフレッシュトークンが無効になるため、ユーザーは再度認証を受ける必要があります。

code_verifierstring

クライアントによる自己認証のために生成されるランダム文字列。エントロピーの高いランダムな値を入力する必要があります。参考資料を確認してください。

クライアントがモバイルアプリの場合は、必ず指定する必要があります。

Headers
  • Content-Type: application/x-www-form-urlencoded

Request examples

curl -v -X POST "https://api.dosi.world/api/v1/oauth2/token" \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'grant_type=authorization_code' \
-d 'code=b5fd32eacc791df' \
-d 'client_id=12345' \
-d 'client_secret=d6524edacc8742aeedf98f'

アクセストークンの破棄

発行されたアクセストークン(access token)とリフレッシュトークン(refresh token)を破棄します。

POST {API base URI}/api/v1/oauth2/revoke

Path

None

Query

None

Body

None

Headers
  • Authorization: Bearer <access token>

Request examples

curl -v -X POST "https://api.dosi.world/api/v1/oauth2/revoke" \
-H 'Authorization: Bearer <access token>'

ユーザーの拡張プロフィールの取得

アクセストークンを利用してユーザーの拡張プロフィール(extended profile)を取得します。

GET {API base URI}/api/v2/profile/extended

Path

None

Query

None

Body

None

Headers
  • Authorization: Bearer <access token>

Request examples

curl -v -X GET "https://api.dosi.world/api/v2/profile/extended" \
-H 'Authorization: Bearer <access token>'