ServiceLogin
Dernière mise à jour : 3 juillet 2026
ServiceLogin est la configuration qui permet à un Space d'inscrire et de connecter les end-users (ServiceUser) de son propre produit via OAuth. C'est le point d'entrée qui rattache au produit un système d'identité distinct du compte de plateforme Weegloo (le Weegloo User qui se connecte au studio de contenu). Le membre inscrit par cette configuration reçoit le rôle par défaut (defaultRole) de la ServiceLogin, et le token de ce membre s'authentifie auprès d'ACMA/ACDA.
Un Space ne possède qu'au maximum une seule ServiceLogin. Si vous rappelez la création (POST) alors qu'elle existe déjà, WGL409003 (409 Conflict) est renvoyé. C'est pourquoi la lecture récupère elle aussi cette unique configuration en tant qu'élément unitaire via GET .../service-login, sans loginId (il n'existe pas d'endpoint de liste).
Structure de la ressource
Voici la réponse pour une ServiceLogin. Outre sys (propriétés système), elle possède les propriétés de corps name, callbackUrl, contactEmail et approvalRequired, qui portent les informations d'affichage du service et le comportement d'inscription.
{
"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": "Adhésion DailyWear",
"callbackUrl": "https://dailywear.example/auth/callback",
"contactEmail": "members@dailywear.example",
"approvalRequired": false
}Clés principales :
defaultRole: leReferdu ServiceUserRole attribué par défaut au membre nouvellement inscrit. Si un membre a besoin d'un rôle différent, on le remplace viaroleOverridedu ServiceUser.providers: la liste des fournisseurs OAuth pris en charge par ce service. Chaque entrée se compose deregistrationId,clientIdetclientSecret. La réponse ne contient pasclientSecret.callbackUrl: l'URL vers laquelle le membre est redirigé après avoir terminé la connexion OAuth. Le token d'échange (exchangeToken) est ajouté à cette URL sous forme de chaîne de requête au retour.approvalRequired: lorsqu'il est activé, le nouveau membre s'inscrit avec la connexion désactivée (enableLogin=false) et nécessite l'approbation d'un administrateur.
Propriétés système (sys)
Toute ServiceLogin porte les propriétés système communes dans l'objet sys. space, defaultRole, createdBy et updatedBy se présentent sous la forme Refer ({ "sys": { "id", "type": "Refer", "targetType" } }).
| Propriété | Type | Description |
|---|---|---|
id | string | Identifiant unique de la ressource. |
type | string | Type de ressource. Pour ServiceLogin, toujours "ServiceLogin". |
space | Refer<Space> | Le Space auquel appartient cette configuration. |
defaultRole | Refer<ServiceUserRole> | Le ServiceUserRole attribué par défaut au membre nouvellement inscrit. |
providers | Tableau de Provider | Liste des fournisseurs OAuth pris en charge. Les entrées de la réponse ne contiennent pas clientSecret. |
createdBy | Refer<User> | Le Weegloo User qui a créé cette configuration. |
createdAt | string (date-time) | Date et heure de création. |
updatedBy | Refer<User> | Le Weegloo User qui a modifié la configuration en dernier. |
updatedAt | string (date-time) | Date et heure de la dernière modification. |
version | integer | Version de la ressource. À placer dans l'en-tête X-Weegloo-Version lors d'une modification. |
ServiceLogin étant une ressource de configuration, elle n'a pas de notion de publication. Elle ne possède ni publish, ni archive, ni status ; elle ne possède que version, pour éviter les conflits de modification concurrente.
Propriétés de corps et provider
| Propriété | Type | Description |
|---|---|---|
name | string | Nom d'affichage du service. |
callbackUrl | string | URL de redirection après la connexion OAuth. Le exchangeToken y est ajouté en tant que requête au retour. |
contactEmail | string | E-mail de contact de l'administrateur du service. |
approvalRequired | boolean | Si true, le nouveau membre démarre avec enableLogin=false et nécessite l'approbation d'un administrateur. La valeur par défaut est false. |
providers
providers est la liste des fournisseurs OAuth pris en charge par ce service. Chaque provider se compose des trois valeurs suivantes.
| Propriété | Type | Description |
|---|---|---|
registrationId | string | Identifiant du fournisseur OAuth. Actuellement, google, github, facebook, gitlab, kakao, naver et line sont pris en charge. |
clientId | string | L'identifiant client délivré par ce fournisseur. |
clientSecret | string | Le secret client délivré par ce fournisseur. En écriture seule, il n'apparaît pas dans la réponse. |
Actuellement, les registrationId pour lesquels WEEGLOO a connecté des endpoints OAuth sont au nombre de sept : google, github, facebook, gitlab, kakao, naver et line. La connexion ne fonctionne pas avec d'autres valeurs.
Un provider peut être inclus directement dans le corps de création de la ServiceLogin, ou géré séparément via les endpoints d'ajout, de modification et de suppression de provider ci-dessous. Le corps de modification (PUT) de la ServiceLogin ne contient pas providers ; on gère donc les providers d'une configuration déjà créée au moyen des endpoints dédiés.
Une ServiceLogin doit toujours conserver au moins un provider, et peut en avoir jusqu'à dix. Lors de la création, vous devez en placer au moins un dans providers. Le dernier provider restant ne peut pas être supprimé : toute tentative de suppression renvoie WGL422055 (422). Pour retirer tous les providers, supprimez la ServiceLogin elle-même.
Enregistrement de l'URI de redirection
Lorsque vous créez l'application OAuth dans la console de chaque provider (Google, GitHub, Facebook, GitLab, Kakao, Naver, LINE), vous devez enregistrer l'URI de redirection autorisée (redirect URI) avec exactement la même valeur que celle utilisée par WEEGLOO. Si la valeur diffère, la connexion échoue avec redirect_uri mismatch.
L'URI à enregistrer suit le format suivant.
https://auth.weegloo.com/v1/spaces/{spaceId}/login/oauth2/code/{registrationId}
{spaceId}: lesys.iddu Space auquel appartient cette ServiceLogin.{registrationId}: l'identifiant du provider (google,github,facebook,gitlab,kakao,naver,line).
Par exemple, pour rattacher Google au Space HnQ32YiH, vous enregistrez https://auth.weegloo.com/v1/spaces/HnQ32YiH/login/oauth2/code/google.
API
L'URL de base de tous les endpoints ci-dessous est https://cma.weegloo.com/v1, et un token Bearer authentifiant CMA est requis dans l'en-tête Authorization. Les endpoints de modification (PUT, PATCH) et de gestion des providers doivent transporter le sys.version courant dans l'en-tête X-Weegloo-Version afin d'éviter les conflits de modification concurrente. La création et la suppression de ServiceLogin ne portent pas cet en-tête. La lecture récupère l'unique ServiceLogin de ce Space, sans loginId.
Documents liés
- ServiceUserRole : l'ensemble de permissions à attribuer via
defaultRole. - ServiceUser : le membre inscrit par cette configuration.
- Auth API : le flux de connexion OAuth et d'échange de token du membre.
