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: o Refer do ServiceUserRole que um membro recém-cadastrado recebe por padrão. Se um membro precisar de um papel diferente, ele é sobrescrito pelo roleOverride do ServiceUser.
  • providers: a lista de provedores OAuth que este serviço suporta. Cada item é composto por registrationId, clientId, clientSecret. O clientSecret nã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" } }).

PropriedadeTipoDescrição
idstringIdentificador único do recurso.
typestringTipo do recurso. Para ServiceLogin é sempre "ServiceLogin".
spaceRefer<Space>O Space ao qual esta configuração pertence.
defaultRoleRefer<ServiceUserRole>O ServiceUserRole que um membro recém-cadastrado recebe por padrão.
providersarray de ProviderLista de provedores OAuth suportados. Os itens da resposta não trazem clientSecret.
createdByRefer<User>O Weegloo User que criou esta configuração.
createdAtstring (date-time)Momento da criação.
updatedByRefer<User>O Weegloo User que fez a última modificação.
updatedAtstring (date-time)Momento da última modificação.
versionintegerVersã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

PropriedadeTipoDescrição
namestringNome de exibição do serviço.
callbackUrlstringURL para a qual redirecionar após concluir o login OAuth. O exchangeToken volta anexado a essa URL como query.
contactEmailstringE-mail de contato do administrador do serviço.
approvalRequiredbooleanSe 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.

PropriedadeTipoDescrição
registrationIdstringIdentificador do provedor OAuth. Atualmente são suportados google, github, facebook, gitlab, kakao, naver, line.
clientIdstringO ID de cliente emitido por esse provedor.
clientSecretstringO 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}: o sys.id do 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.

  • 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.