ServiceLogin
Última atualização: 3 de julho de 2026
ServiceLogin é a configuração com a qual um Space cadastra e autentica os end-users (ServiceUser) do seu próprio produto via OAuth. É a porta de entrada que conecta ao produto um sistema de identidade separado da conta de plataforma Weegloo (o Weegloo User que faz login no estúdio de conteúdo). O membro que se cadastra por essa configuração recebe o papel padrão (defaultRole) do ServiceLogin, e o token desse membro é autenticado nas APIs ACMA/ACDA.
Em um Space existe no máximo um ServiceLogin. Se você chamar a criação (POST) novamente quando já existe um, é retornado WGL409003 (409 Conflict). Por isso a consulta também é feita sem loginId, com GET .../service-login, trazendo esse único registro (não há endpoint de lista).
Estrutura do recurso
A seguir está a resposta de um único ServiceLogin. Junto com sys (propriedades de sistema), ele tem as propriedades de corpo name, callbackUrl, contactEmail, approvalRequired, que guardam as informações de exibição do serviço e o comportamento de cadastro.
{
"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": "Programa de membros DailyWear",
"callbackUrl": "https://dailywear.example/auth/callback",
"contactEmail": "members@dailywear.example",
"approvalRequired": false
}Chaves principais:
defaultRole: oReferdo ServiceUserRole que um membro recém-cadastrado recebe por padrão. Se um membro precisar de um papel diferente, ele é sobrescrito peloroleOverridedo ServiceUser.providers: a lista de provedores OAuth que este serviço suporta. Cada item é composto porregistrationId,clientId,clientSecret. OclientSecretnão aparece na resposta.callbackUrl: a URL para a qual o membro é redirecionado após concluir o login OAuth. O token de troca (exchangeToken) volta anexado a essa URL como query string.approvalRequired: quando ativado, o novo membro é cadastrado com o login desativado (enableLogin=false) e precisa da aprovação de um administrador.
Propriedades de sistema (sys)
Todo ServiceLogin guarda as propriedades de sistema comuns no objeto sys. space, defaultRole, createdBy, updatedBy entram no formato Refer ({ "sys": { "id", "type": "Refer", "targetType" } }).
| Propriedade | Tipo | Descrição |
|---|---|---|
id | string | Identificador único do recurso. |
type | string | Tipo do recurso. Para ServiceLogin é sempre "ServiceLogin". |
space | Refer<Space> | O Space ao qual esta configuração pertence. |
defaultRole | Refer<ServiceUserRole> | O ServiceUserRole que um membro recém-cadastrado recebe por padrão. |
providers | array de Provider | Lista de provedores OAuth suportados. Os itens da resposta não trazem clientSecret. |
createdBy | Refer<User> | O Weegloo User que criou esta configuração. |
createdAt | string (date-time) | Momento da criação. |
updatedBy | Refer<User> | O Weegloo User que fez a última modificação. |
updatedAt | string (date-time) | Momento da última modificação. |
version | integer | Versão do recurso. É enviada no cabeçalho X-Weegloo-Version ao modificar. |
ServiceLogin é um recurso de configuração, portanto não tem o conceito de publicação. Não possui publish, archive, status, apenas version para evitar conflitos de modificação concorrente.
Propriedades de corpo e provider
| Propriedade | Tipo | Descrição |
|---|---|---|
name | string | Nome de exibição do serviço. |
callbackUrl | string | URL para a qual redirecionar após concluir o login OAuth. O exchangeToken volta anexado a essa URL como query. |
contactEmail | string | E-mail de contato do administrador do serviço. |
approvalRequired | boolean | Se true, o novo membro começa com enableLogin=false e precisa da aprovação de um administrador. O valor padrão é false. |
providers
providers é a lista de provedores OAuth que este serviço suporta. Cada provider é composto pelos três valores a seguir.
| Propriedade | Tipo | Descrição |
|---|---|---|
registrationId | string | Identificador do provedor OAuth. Atualmente são suportados google, github, facebook, gitlab, kakao, naver, line. |
clientId | string | O ID de cliente emitido por esse provedor. |
clientSecret | string | O segredo de cliente emitido por esse provedor. Por ser somente de escrita, não aparece na resposta. |
Atualmente os registrationId para os quais o WEEGLOO mantém os endpoints OAuth conectados são sete: google, github, facebook, gitlab, kakao, naver, line. Com outros valores o login não funciona.
O provider pode ser incluído junto no corpo de criação do ServiceLogin ou gerenciado separadamente pelos endpoints de adicionar, modificar, remover provider descritos abaixo. Como o corpo de modificação (PUT) do ServiceLogin não tem providers, os providers de uma configuração já criada são tratados pelos endpoints dedicados.
O ServiceLogin deve sempre ter no mínimo um provider, e pode ter no máximo dez. Na criação, é preciso incluir ao menos um em providers. O último provider restante não pode ser removido, e tentar removê-lo retorna WGL422055 (422). Para eliminar todos os providers, exclua o próprio ServiceLogin.
Registro do URI de redirecionamento
Ao criar o app OAuth no console de cada provider (Google, GitHub, Facebook, GitLab, Kakao, Naver, LINE), você precisa registrar o URI de redirecionamento autorizado (redirect URI) exatamente igual ao valor que o WEEGLOO usa. Se os valores diferirem, o login falha com redirect_uri mismatch.
O URI a registrar tem o seguinte formato.
https://auth.weegloo.com/v1/spaces/{spaceId}/login/oauth2/code/{registrationId}
{spaceId}: osys.iddo Space ao qual este ServiceLogin pertence.{registrationId}: o identificador do provider (google,github,facebook,gitlab,kakao,naver,line).
Por exemplo, para conectar o Google ao Space HnQ32YiH, registre https://auth.weegloo.com/v1/spaces/HnQ32YiH/login/oauth2/code/google.
API
A URL base de todos os endpoints abaixo é https://cma.weegloo.com/v1, e é necessário um token Bearer que autentica na CMA no cabeçalho Authorization. Os endpoints de modificação (PUT, PATCH) e de gerenciamento de provider devem enviar o sys.version atual no cabeçalho X-Weegloo-Version para evitar conflitos de modificação concorrente. A criação e a exclusão do ServiceLogin não têm esse cabeçalho. A consulta traz, sem loginId, o único ServiceLogin daquele Space.
Documentos relacionados
- ServiceUserRole: o conjunto de permissões concedido por
defaultRole. - ServiceUser: o membro cadastrado por esta configuração.
- Auth API: o fluxo de login OAuth e troca de token do membro.
