ServiceLogin

最終更新: 2026年7月3日

ServiceLogin は、Space が自社プロダクトの end-user (ServiceUser) を OAuth で登録・ログインさせるための設定です。Weegloo プラットフォームアカウント (コンテンツスタジオにログインする Weegloo User) とは別の ID 体系をプロダクトに組み込む入口です。この設定から登録した会員は ServiceLogin の既定ロール (defaultRole) を受け取り、その会員のトークンは ACMA/ACDA に対して認証されます。

1 つの Space には ServiceLogin は最大 1 つだけ存在します。すでに存在する状態で作成 (POST) を再度呼び出すと WGL409003(409 Conflict)が返されます。そのため取得も loginId なしで GET .../service-login によってその 1 件を単一で取得します(リストエンドポイントはありません)。

リソース構造

以下は ServiceLogin 1 件のレスポンスです。sys (システム属性) に加えて、サービスの表示情報と登録動作を保持する本文属性 namecallbackUrlcontactEmailapprovalRequired を持ちます。

{
  "sys": {
    "id": "3trmXRM3RqbgSnifyg7PSlgn01Ex",
    "type": "ServiceLogin",
    "space": { "sys": { "id": "HnQ32YiH", "type": "Refer", "targetType": "Space" } },
    "defaultRole": { "sys": { "id": "3trmXRLXeZN2RTHvVj3hFDN5546vbp", "type": "Refer", "targetType": "ServiceUserRole" } },
    "providers": [
      { "registrationId": "google", "clientId": "821047-dailywear.apps.googleusercontent.com" }
    ],
    "createdBy": { "sys": { "id": "3p4tcFbQRwz503VXdtHXNI5dZH5TVB", "type": "Refer", "targetType": "User" } },
    "createdAt": "2026-06-18T12:55:00.000Z",
    "updatedBy": { "sys": { "id": "3p4tcFbQRwz503VXdtHXNI5dZH5TVB", "type": "Refer", "targetType": "User" } },
    "updatedAt": "2026-06-18T12:55:00.000Z",
    "version": 1
  },
  "name": "DailyWear メンバーシップ",
  "callbackUrl": "https://dailywear.example/auth/callback",
  "contactEmail": "members@dailywear.example",
  "approvalRequired": false
}

主なキー:

  • defaultRole: 新たに登録した会員が既定で受け取る ServiceUserRoleRefer です。会員ごとに異なるロールが必要な場合は、ServiceUserroleOverride で上書きします。
  • providers: このサービスがサポートする OAuth プロバイダのリストです。各項目は registrationIdclientIdclientSecret で構成されます。レスポンスには clientSecret は含まれません。
  • callbackUrl: 会員が OAuth ログインを完了した後に遷移する URL です。この URL に交換トークン (exchangeToken) がクエリ文字列として付与されて返ってきます。
  • approvalRequired: 有効にすると、新規会員はログイン無効 (enableLogin=false) の状態で登録され、管理者の承認が必要になります。

システム属性 (sys)

すべての ServiceLogin は共通のシステム属性を sys オブジェクトに保持します。spacedefaultRolecreatedByupdatedByRefer 形式 ({ "sys": { "id", "type": "Refer", "targetType" } }) で入ります。

属性説明
idstringリソース固有の識別子。
typestringリソースの種類。ServiceLogin は常に "ServiceLogin"
spaceRefer<Space>この設定が属する Space
defaultRoleRefer<ServiceUserRole>新規登録会員が既定で受け取る ServiceUserRole
providersProvider 配列サポートする OAuth プロバイダのリスト。レスポンスの項目には clientSecret は含まれません。
createdByRefer<User>この設定を作成した Weegloo User。
createdAtstring (date-time)作成日時。
updatedByRefer<User>最後に更新した Weegloo User。
updatedAtstring (date-time)最終更新日時。
versionintegerリソースのバージョン。更新時に X-Weegloo-Version ヘッダーに入れます。

ServiceLogin は設定リソースであるため、公開の概念がありません。publisharchivestatus はなく、同時更新の競合を防ぐための version のみを持ちます。

本文属性と provider

属性説明
namestringサービスの表示名。
callbackUrlstringOAuth ログイン完了後に遷移する URL。この URL に exchangeToken がクエリとして付与されて返ってきます。
contactEmailstringサービス管理者の連絡先メールアドレス。
approvalRequiredbooleantrue の場合、新規会員は enableLogin=false で開始し、管理者の承認が必要になります。既定値は false

providers

providers は、このサービスがサポートする OAuth プロバイダのリストです。各 provider は以下の 3 つの値で構成されます。

属性説明
registrationIdstringOAuth プロバイダの識別子。現在は googlegithubfacebookgitlabkakaonaverline をサポートしています。
clientIdstringそのプロバイダで発行されたクライアント ID。
clientSecretstringそのプロバイダで発行されたクライアントシークレット。書き込み専用のため、レスポンスには含まれません。

現在 WEEGLOO が OAuth エンドポイントを接続している registrationIdgooglegithubfacebookgitlabkakaonaverline の 7 つです。これ以外の値ではログインが動作しません。

provider は ServiceLogin の作成本文に含めて指定することも、後述の provider 追加・更新・削除エンドポイントで個別に管理することもできます。ServiceLogin の更新 (PUT) 本文には providers がないため、すでに作成した設定の provider は専用エンドポイントで扱います。

ServiceLogin は常に provider を 1 つ以上持つ必要があり、最大 10 個まで持つことができます。作成時には providers に最低 1 つを含める必要があります。最後に残った 1 つの provider は削除できず、削除しようとすると WGL422055(422)を返します。provider をすべて削除するには、ServiceLogin 自体を削除します。

リダイレクト URI の登録

各 provider (Google・GitHub・Facebook・GitLab・Kakao・Naver・LINE) のコンソールで OAuth アプリを作成する際、承認済みリダイレクト URI (redirect URI) を WEEGLOO が使う値とまったく同じに登録する必要があります。値が異なると、ログインが redirect_uri mismatch で失敗します。

登録する URI は以下の形式です。

https://auth.weegloo.com/v1/spaces/{spaceId}/login/oauth2/code/{registrationId}

  • {spaceId}: この ServiceLogin が属する Spacesys.id
  • {registrationId}: provider の識別子 (googlegithubfacebookgitlabkakaonaverline)。

たとえば Space HnQ32YiH に Google を接続する場合は、https://auth.weegloo.com/v1/spaces/HnQ32YiH/login/oauth2/code/google を登録します。

API

以下のすべてのエンドポイントのベース URL は https://cma.weegloo.com/v1 であり、Authorization ヘッダーに CMA を認証する Bearer トークンが必要です。更新 (PUTPATCH) と provider 管理エンドポイントは、同時更新の競合を防ぐために現在の sys.versionX-Weegloo-Version ヘッダーに載せる必要があります。作成と ServiceLogin の削除にはこのヘッダーはありません。取得は loginId なしでその SpaceServiceLogin 1 件を取得します。

  • ServiceUserRole: defaultRole として付与する権限のまとまり。
  • ServiceUser: この設定から登録した会員。
  • Auth API: 会員の OAuth ログイン・トークン交換フロー。