ログインと認証機能
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_id | DOSI SDK利用申請後に受け取ったDOSIのチャネルID |
state | OAuth Flow検証用のランダムな文字列 |
mode | OAuth Flowモード。常に"oauth"にしてください。 |
redirect_uri | ユーザーログイン後にリダイレクトするURI |
scope | 提供されるユーザープロフィール情報グループ。常に"basic"にしてください。 |
code_challenge | PKCEで使用する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)でアクセストークンを更新します。
Path
None
Query
None
Body
Name | Type | Description | Required |
---|---|---|---|
grant_type | string | リクエストタイプ。以下のいずれかを選択してください。
| |
code | string | アクセストークンを発行するユーザーの認証コード。 | |
client_id | string | DOSI SDK利用申請後に取得したDOSIのチャネルID | |
client_secret | string | DOSI SDK利用申請後に取得したDOSIのチャネルシークレット | |
refresh_token | string | アクセストークンを更新するリフレッシュトークン。
| |
code_verifier | string | クライアントによる自己認証のために生成されるランダム文字列。エントロピーの高いランダムな値を入力する必要があります。参考資料を確認してください。
|
- 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)を破棄します。
Path
None
Query
None
Body
None
- Authorization: Bearer <access token>
- Content-Type: application/json
Request examples
curl -v -X POST "https://api.dosi.world/api/v1/oauth2/revoke" \
--header 'Authorization: Bearer <access token>' \
--header 'Content-Type: application/json'
ユーザーの拡張プロフィールの取得
アクセストークンを利用してユーザーの拡張プロフィール(extended profile)を取得します。
Path
None
Query
None
Body
None
- Authorization: Bearer <access token>
- Content-Type: application/json
Request examples
curl -v -X GET "https://api.dosi.world/api/v2/profile/extended" \
--header 'Authorization: Bearer <access token>' \
--header 'Content-Type: application/json'