@hed-hog/core 0.0.373 → 0.0.374

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/README.md +83 -1
  2. package/dist/integration-profile/integration-profile.secrets.d.ts.map +1 -1
  3. package/dist/integration-profile/integration-profile.secrets.js +4 -0
  4. package/dist/integration-profile/integration-profile.secrets.js.map +1 -1
  5. package/dist/integration-profile/integration-profile.utils.d.ts +6 -0
  6. package/dist/integration-profile/integration-profile.utils.d.ts.map +1 -1
  7. package/dist/integration-profile/integration-profile.utils.js +1 -1
  8. package/dist/integration-profile/integration-profile.utils.js.map +1 -1
  9. package/dist/oauth/oauth.controller.d.ts +11 -3
  10. package/dist/oauth/oauth.controller.d.ts.map +1 -1
  11. package/dist/oauth/oauth.controller.js +52 -14
  12. package/dist/oauth/oauth.controller.js.map +1 -1
  13. package/dist/oauth/oauth.module.d.ts.map +1 -1
  14. package/dist/oauth/oauth.module.js +4 -0
  15. package/dist/oauth/oauth.module.js.map +1 -1
  16. package/dist/oauth/oauth.service.d.ts +38 -2
  17. package/dist/oauth/oauth.service.d.ts.map +1 -1
  18. package/dist/oauth/oauth.service.js +122 -5
  19. package/dist/oauth/oauth.service.js.map +1 -1
  20. package/dist/oauth/providers/apple.provider.d.ts +34 -0
  21. package/dist/oauth/providers/apple.provider.d.ts.map +1 -0
  22. package/dist/oauth/providers/apple.provider.js +197 -0
  23. package/dist/oauth/providers/apple.provider.js.map +1 -0
  24. package/dist/oauth/providers/facebook.provider.d.ts +1 -1
  25. package/dist/oauth/providers/facebook.provider.d.ts.map +1 -1
  26. package/dist/oauth/providers/facebook.provider.js +3 -2
  27. package/dist/oauth/providers/facebook.provider.js.map +1 -1
  28. package/dist/oauth/providers/google.provider.d.ts +1 -1
  29. package/dist/oauth/providers/google.provider.d.ts.map +1 -1
  30. package/dist/oauth/providers/google.provider.js +3 -2
  31. package/dist/oauth/providers/google.provider.js.map +1 -1
  32. package/dist/oauth/providers/linkedin.provider.d.ts +25 -0
  33. package/dist/oauth/providers/linkedin.provider.d.ts.map +1 -0
  34. package/dist/oauth/providers/linkedin.provider.js +99 -0
  35. package/dist/oauth/providers/linkedin.provider.js.map +1 -0
  36. package/dist/oauth/providers/microsoft-entra-id.provider.js +1 -1
  37. package/dist/oauth/providers/microsoft-entra-id.provider.js.map +1 -1
  38. package/dist/oauth/providers/microsoft.provider.d.ts +1 -1
  39. package/dist/oauth/providers/microsoft.provider.d.ts.map +1 -1
  40. package/dist/oauth/providers/microsoft.provider.js +3 -2
  41. package/dist/oauth/providers/microsoft.provider.js.map +1 -1
  42. package/dist/pdf/pdf.service.d.ts.map +1 -1
  43. package/dist/pdf/pdf.service.js +19 -2
  44. package/dist/pdf/pdf.service.js.map +1 -1
  45. package/dist/setting/setting.service.d.ts.map +1 -1
  46. package/dist/setting/setting.service.js +4 -1
  47. package/dist/setting/setting.service.js.map +1 -1
  48. package/hedhog/data/integration_provider.yaml +16 -0
  49. package/hedhog/data/setting_group.yaml +98 -0
  50. package/hedhog/data/setting_subgroup.yaml +16 -0
  51. package/hedhog/frontend/app/configurations/[slug]/components/setting-field.tsx.ejs +2 -0
  52. package/hedhog/frontend/app/dashboard/dashboard.css.ejs +11 -11
  53. package/hedhog/frontend/app/integration/profiles/page.tsx.ejs +42 -0
  54. package/hedhog/frontend/app/menu/page.tsx.ejs +1 -1
  55. package/hedhog/frontend/app/users/user-sheet.tsx.ejs +8 -0
  56. package/hedhog/frontend/messages/en.json +35 -0
  57. package/hedhog/frontend/messages/pt.json +35 -0
  58. package/hedhog/table/user_account.yaml +1 -0
  59. package/package.json +3 -3
  60. package/src/access-log/access-log.service.spec.ts +235 -0
  61. package/src/ai-instruction/ai-prompt-builder.service.spec.ts +250 -0
  62. package/src/auth/auth.service.spec.ts +891 -0
  63. package/src/auth/guards/auth.guard.spec.ts +177 -0
  64. package/src/challenge/challenge.service.spec.ts +334 -0
  65. package/src/dashboard/dashboard-core/dashboard-core.service.spec.ts +193 -0
  66. package/src/file/image-optimization.service.spec.ts +283 -0
  67. package/src/file/provider/provider.factory.spec.ts +111 -0
  68. package/src/install/install.service.spec.ts +139 -0
  69. package/src/integration/services/event-subscriber.registry.spec.ts +143 -0
  70. package/src/integration/services/inbox.service.spec.ts +183 -0
  71. package/src/integration/services/integration-link.service.spec.ts +217 -0
  72. package/src/integration/services/outbox.service.spec.ts +290 -0
  73. package/src/integration-profile/integration-credential-crypto.service.spec.ts +289 -0
  74. package/src/integration-profile/integration-profile.secrets.ts +4 -0
  75. package/src/integration-profile/integration-profile.utils.spec.ts +332 -0
  76. package/src/integration-profile/integration-profile.utils.ts +14 -1
  77. package/src/locale/locale.service.spec.ts +78 -0
  78. package/src/mail/mail.service.spec.ts +257 -0
  79. package/src/mcp/guards/mcp-auth.guard.spec.ts +87 -0
  80. package/src/mcp/guards/mcp-permission.guard.spec.ts +64 -0
  81. package/src/mcp/mcp-api-key.service.spec.ts +125 -0
  82. package/src/mcp/mcp-registry.service.spec.ts +96 -0
  83. package/src/mcp/mcp-server.service.spec.ts +187 -0
  84. package/src/menu/menu.service.spec.ts +76 -0
  85. package/src/notification/notification.service.spec.ts +297 -0
  86. package/src/oauth/oauth.controller.ts +53 -10
  87. package/src/oauth/oauth.module.ts +4 -0
  88. package/src/oauth/oauth.service.spec.ts +332 -0
  89. package/src/oauth/oauth.service.ts +156 -1
  90. package/src/oauth/providers/apple.provider.ts +175 -0
  91. package/src/oauth/providers/facebook.provider.ts +3 -2
  92. package/src/oauth/providers/google.provider.ts +3 -2
  93. package/src/oauth/providers/linkedin.provider.ts +96 -0
  94. package/src/oauth/providers/microsoft-entra-id.provider.ts +1 -1
  95. package/src/oauth/providers/microsoft.provider.ts +3 -2
  96. package/src/pdf/pdf.service.ts +20 -2
  97. package/src/role/guards/role.guard.spec.ts +157 -0
  98. package/src/role/role.service.spec.ts +179 -0
  99. package/src/session/session.service.spec.ts +376 -0
  100. package/src/setting/setting.service.spec.ts +316 -0
  101. package/src/setting/setting.service.ts +4 -1
  102. package/src/task/task.service.spec.ts +47 -0
  103. package/src/token/token.service.spec.ts +351 -0
  104. package/src/user/user.service.spec.ts +256 -0
  105. package/src/utils/locale-context.spec.ts +22 -0
  106. package/src/utils/webauthn-origin.spec.ts +73 -0
  107. package/src/webhook-integration/integration-event-catalog.service.spec.ts +149 -0
package/README.md CHANGED
@@ -9,7 +9,7 @@ O módulo `@hed-hog/core` é o núcleo do monorepo HedHog, responsável por forn
9
9
 
10
10
  ## 2. Escopo e responsabilidades
11
11
 
12
- - Gerenciamento de autenticação e autorização, incluindo MFA, WebAuthn, recuperação de senha e sessões.
12
+ - Gerenciamento de autenticação e autorização, incluindo MFA, WebAuthn, recuperação de senha, sessões e login social via OAuth (Google, Facebook, GitHub, Microsoft, Microsoft Entra ID, Apple, LinkedIn) com hub de callback multi-app.
13
13
  - Serviços de inteligência artificial para chat e agentes AI com suporte a OpenAI e Gemini.
14
14
  - Gestão de dashboards, componentes, roles e usuários associados.
15
15
  - Informações do sistema operacional, hardware, banco de dados e módulos instalados.
@@ -51,6 +51,23 @@ O módulo `@hed-hog/core` é o núcleo do monorepo HedHog, responsável por forn
51
51
  | POST | `/auth/logout` | Pública | Logout e invalida refresh token. | Body: `{ refreshToken?: string }`<br>Cookies: `rt` opcional | `{ success: true }` | 400: Refresh token não fornecido |
52
52
  | POST | `/auth/forgot-reset` | Pública | Reseta senha via código de recuperação. | Body: `ResetDTO` (password: string, code: string) | Tokens de acesso e refresh | 400: Código inválido ou expirado |
53
53
 
54
+ ### Módulo OAuth (`/oauth`)
55
+
56
+ > **Padrão de hub multi-app**: cada provider precisa de **apenas uma URL de callback registrada** (`${url}/callback/:provider`, sem sufixo de fluxo — GitHub usa `${api-url}/oauth/github/callback`, e Apple usa `${api-url}/oauth/apple/callback`, ambos por só aceitarem uma callback URL). O fluxo (`login`/`register`/`connect`) e o app que iniciou a autenticação (ex.: `training`) viajam assinados no parâmetro `state` (`hhweb.<app>.<flow>.<assinatura>`, HMAC via `SecurityService`), nunca no path. O app configurado na setting `url` funciona como **hub**: ao receber o callback do provider, ele decide localmente (fluxo próprio) ou reencaminha o browser para a página de callback do app que iniciou o fluxo, resolvendo a origem via setting `app-urls`. Providers suportados: Google, Facebook, GitHub, Microsoft, Microsoft Entra ID, Apple (Sign in with Apple) e LinkedIn.
57
+
58
+ | Método | Path | Autenticação | Descrição | Parâmetros / Query / Body | Resposta | Erros Comuns |
59
+ |--------|----------------------------------|--------------|------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------|------------------------------------------------------------------------|----------------------------------------------------------------------|
60
+ | GET | `/oauth/github/callback` | Pública | Bounce exclusivo do GitHub (única callback URL aceita pelo provider); repassa o `code` para o frontend correto. | Query: `code`, `state?` | Redirect 302 para `${origem}/callback/github/<flow>?code=...&state=...` | - |
61
+ | POST | `/oauth/apple/callback` | Pública | Bounce exclusivo da Apple: ela exige `response_mode=form_post` quando `scope` é solicitado, então POSTa `code`/`state` em vez de um redirect GET. Converte de volta para um redirect GET, igual ao bounce do GitHub. | Body: `code`, `state?` | Redirect 302 para `${origem}/callback/apple/<flow>?code=...&state=...` | - |
62
+ | GET | `/oauth/:provider/login` | Pública | Inicia o fluxo de login, redirecionando para a tela de autorização do provider. | Path: `provider`<br>Query: `redirectApp?` (chave em `app-urls` do app iniciador) | Redirect 302 para a URL de autorização do provider | 400: provider não habilitado ou não suportado |
63
+ | GET | `/oauth/:provider/register` | Pública | Inicia o fluxo de cadastro via OAuth. | Path: `provider`<br>Query: `redirectApp?` | Redirect 302 para a URL de autorização do provider | 400: provider não habilitado ou não suportado |
64
+ | GET | `/oauth/:provider/connect` | Pública | Inicia o fluxo de vinculação de conta a um usuário já autenticado no app de destino. | Path: `provider`<br>Query: `redirectApp?` | Redirect 302 para a URL de autorização do provider | 400: provider não habilitado ou não suportado |
65
+ | GET | `/oauth/:provider/mobile/auth-url` | Pública | Retorna a URL de autorização para apps nativos (Electron/React Native) interceptarem o redirect. | Path: `provider`<br>Query: `redirectUri` (custom scheme do app nativo) | `{ authUrl: string }` | 400: redirect URI inválida ou provider não habilitado |
66
+ | GET | `/oauth/:provider/callback/login` | Pública | Troca o `code` por tokens de acesso após o hub reencaminhar para a página de login do app. | Path: `provider`<br>Query: `code`, `state?`, `redirectUri?` | `{ accessToken: string, refreshToken?: string }` + cookie `rt` (httpOnly) | 400: code ausente, origem inválida ou callback já processado<br>409: callback em processamento<br>503: falha no provider |
67
+ | GET | `/oauth/:provider/callback/register` | Pública | Troca o `code` por tokens após cadastro via OAuth. | Path: `provider`<br>Query: `code` | `{ accessToken: string, refreshToken?: string }` + cookie `rt` | 400/409/503 — mesmos casos do callback de login |
68
+ | GET | `/oauth/:provider/callback/connect` | Autenticada | Vincula a conta do provider ao usuário autenticado. | Path: `provider`<br>Query: `code` | `{ accessToken: string, refreshToken?: string }` + cookie `rt` | 400/409/503 — mesmos casos do callback de login |
69
+ | DELETE | `/oauth/:provider` | Autenticada | Desvincula a conta do provider do usuário. | Path: `provider`<br>Body: `{ email: string }` | Resultado da desconexão | - |
70
+
54
71
  ### Módulo System (`/system`)
55
72
 
56
73
  | Método | Path | Autenticação | Descrição | Parâmetros / Body | Resposta | Erros Comuns |
@@ -446,6 +463,9 @@ O módulo `@hed-hog/core` é o núcleo do monorepo HedHog, responsável por forn
446
463
  - Requisição inválida para criação de relações duplicadas.
447
464
  - Arquivo inválido para preview de componente.
448
465
  - Operação de preview disponível somente em ambiente de desenvolvimento.
466
+ - OAuth: provider não habilitado (`oauth-<provider>-enabled` desligado) ou não suportado.
467
+ - OAuth: perfil de integração não configurado (`oauth-<provider>-profile-id` vazio) ou não encontrado.
468
+ - OAuth: código de autorização ausente, redirect URI de mobile inválida, origem do callback inválida (origin binding do hub) ou callback já processado.
449
469
 
450
470
  - **404 Not Found**
451
471
 
@@ -458,6 +478,14 @@ O módulo `@hed-hog/core` é o núcleo do monorepo HedHog, responsável por forn
458
478
  - Acesso negado a dashboards ou recursos protegidos.
459
479
  - Tentativa de salvar preview fora do ambiente de desenvolvimento.
460
480
 
481
+ - **409 Conflict**
482
+
483
+ - OAuth: callback já em processamento (lock de idempotência por código).
484
+
485
+ - **503 Service Unavailable**
486
+
487
+ - OAuth: falha na comunicação com o provider (upstream).
488
+
461
489
  ## 7. Banco de dados (tabelas YAML)
462
490
 
463
491
  ### ai_agent
@@ -716,6 +744,29 @@ indices:
716
744
  - id (PK)
717
745
  ```
718
746
 
747
+ ### oauth_mobile_state_token
748
+
749
+ ```yaml
750
+ finalidade: Estado assinado de uso único para o fluxo OAuth iniciado por apps nativos (mobile/desktop), vinculando o redirect URI do app ao provider e ao fluxo.
751
+ colunas:
752
+ - id: bigint, PK, auto-increment
753
+ - token_hash: string, único, não nulo
754
+ - provider: string, não nulo
755
+ - redirect_uri: string, não nulo (custom scheme do app nativo)
756
+ - flow_type: string, não nulo ('login' | 'register' | 'connect')
757
+ - expires_at: timestamptz, não nulo
758
+ - consumed_at: timestamptz, nullable (marca consumo único)
759
+ - created_at: timestamptz, não nulo, default NOW()
760
+ integridade:
761
+ - token_hash único
762
+ indices:
763
+ - id (PK)
764
+ - expires_at
765
+ - (provider, redirect_uri)
766
+ ```
767
+
768
+ > Usada apenas pelo fluxo mobile (`GET /oauth/:provider/mobile/auth-url`). O hub multi-app web (`state` assinado `hhweb.<app>.<flow>.<sig>`) é stateless — a assinatura HMAC é verificada sem persistência em banco.
769
+
719
770
  ## 8. Regras de negócio relevantes
720
771
 
721
772
  - Agentes AI podem ser criados, atualizados e deletados, com integração direta com APIs OpenAI e Gemini.
@@ -731,6 +782,13 @@ indices:
731
782
  - Preview de componentes de dashboard é permitido somente em ambiente de desenvolvimento e aceita apenas imagens.
732
783
  - MFA via email envia códigos para múltiplos emails associados ao usuário.
733
784
  - WebAuthn é suportado para autenticação forte com geração e verificação de desafios.
785
+ - **OAuth — uma URL de callback por provider**: o fluxo (login/registro/conexão) e o app iniciador viajam assinados no `state`, nunca no path; cada provider é habilitado/desabilitado individualmente via setting `oauth-<provider>-enabled`, sem remover as credenciais configuradas (`oauth-<provider>-profile-id`, apontando para um `integration_profile`).
786
+ - **OAuth — hub multi-app**: o app da setting `url` (ex.: admin) recebe o callback do provider e, se o `state` indicar outro app iniciador, reencaminha o browser para a página de callback correspondente desse app, resolvendo a origem via `app-urls`. A troca do `code` por tokens só é aceita quando o header `Origin`/`Referer` da requisição bate com a origem assinada no `state` (origin binding), prevenendo interceptação do código entre apps.
787
+ - **OAuth — auto-vinculação por e-mail**: no login, se não existir `user_account` para o provider mas já existir um `user_identifier` de e-mail habilitado igual ao do perfil OAuth, o fluxo vira uma conexão (`connect`) automática à conta existente em vez de criar um novo usuário; só cria conta nova (`register`) quando nenhum usuário corresponde ao e-mail.
788
+ - **OAuth — roles no cadastro**: novos usuários registrados via OAuth recebem as roles configuradas na setting `oauth-role-assignment`.
789
+ - **OAuth — mobile**: apps nativos usam `/oauth/:provider/mobile/auth-url` com estado assinado e persistido em `oauth_mobile_state_token` (TTL de 10 minutos, consumo único).
790
+ - **OAuth — Apple (Sign in with Apple)**: sem `client_secret` estático — o `private_key` (chave EC `.p8`) assina, a cada troca de código, um JWT `client_secret` (ES256, `iss`=team ID, `sub`=Services ID, `kid`=key ID, TTL curto). Como escopos exigem `response_mode=form_post`, o callback é `POST /oauth/apple/callback` (única URL, no backend), convertido para o mesmo redirect GET dos demais providers. A identidade vem do `id_token` (JWT decodificado, sem verificação de assinatura — entregue diretamente pela Apple na troca servidor-a-servidor); o nome só é enviado por Apple na primeira autorização e não é capturado, então o nome do usuário cai para o local-part do e-mail.
791
+ - **OAuth — LinkedIn**: usa "Sign In with LinkedIn using OpenID Connect" (`scope=openid profile email`), com identidade obtida em uma única chamada a `GET /v2/userinfo` (claims OIDC padrão), sem o par de chamadas legado `/v2/me` + `/v2/emailAddress`.
734
792
 
735
793
  ## 9. Guia rápido de uso (exemplos)
736
794
 
@@ -808,6 +866,30 @@ Resposta:
808
866
  }
809
867
  ```
810
868
 
869
+ ### Login OAuth iniciado por outro app (hub multi-app)
870
+
871
+ Um app diferente do hub (ex.: `training`, chave `training` na setting `app-urls`) inicia o login redirecionando o browser para:
872
+
873
+ ```http
874
+ GET /oauth/google/login?redirectApp=training
875
+ ```
876
+
877
+ O backend responde com um `redirect` 302 para a URL de autorização do Google, contendo `state=hhweb.training.login.<assinatura>`. Após o consentimento, o Google redireciona para a única callback registrada (`${url}/callback/google`, o hub). O hub lê o `state`, resolve `training` via `app-urls` e reencaminha o browser para `${origem-do-training}/callback/google/login?code=...&state=...`. O app `training` então troca o código:
878
+
879
+ ```http
880
+ GET /oauth/google/callback/login?code=<code>&state=hhweb.training.login.<assinatura>
881
+ ```
882
+
883
+ Resposta:
884
+
885
+ ```json
886
+ {
887
+ "accessToken": "<jwt_access_token>"
888
+ }
889
+ ```
890
+
891
+ O `refreshToken` é definido no cookie httpOnly `rt` (não retorna no corpo, exceto quando a chamada informa `redirectUri`, usado pelo fluxo mobile).
892
+
811
893
  ### Obter informações do sistema
812
894
 
813
895
  ```http
@@ -1 +1 @@
1
- {"version":3,"file":"integration-profile.secrets.d.ts","sourceRoot":"","sources":["../../src/integration-profile/integration-profile.secrets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAiC5D,CAAC;AAEF,+DAA+D;AAC/D,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAErE"}
1
+ {"version":3,"file":"integration-profile.secrets.d.ts","sourceRoot":"","sources":["../../src/integration-profile/integration-profile.secrets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAqC5D,CAAC;AAEF,+DAA+D;AAC/D,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAErE"}
@@ -37,6 +37,10 @@ exports.INTEGRATION_SECRET_KEYS = {
37
37
  'microsoft-oauth': ['client_secret'],
38
38
  'facebook-oauth': ['client_secret'],
39
39
  'microsoft-entra-id-oauth': ['client_secret'],
40
+ // Apple has no static client_secret — the private_key signs a short-lived JWT
41
+ // client_secret at request time (see AppleProvider), so private_key is the secret.
42
+ 'apple-oauth': ['private_key'],
43
+ 'linkedin-oauth': ['client_secret'],
40
44
  // Pagamento
41
45
  stripe: ['secret_key', 'webhook_secret'],
42
46
  mercado_pago: ['access_token', 'webhook_secret'],
@@ -1 +1 @@
1
- {"version":3,"file":"integration-profile.secrets.js","sourceRoot":"","sources":["../../src/integration-profile/integration-profile.secrets.ts"],"names":[],"mappings":";;;AAgDA,wDAEC;AAlDD;;;;;;;;;;;GAWG;AACU,QAAA,uBAAuB,GAA6B;IAC/D,QAAQ;IACR,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,KAAK,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;IACzC,GAAG,EAAE,CAAC,mBAAmB,CAAC;IAC1B,aAAa;IACb,eAAe,EAAE,CAAC,OAAO,CAAC;IAC1B,mBAAmB,EAAE,CAAC,cAAc,CAAC;IACrC,UAAU;IACV,EAAE,EAAE,CAAC,mBAAmB,CAAC;IACzB,GAAG,EAAE,CAAC,eAAe,CAAC;IACtB,YAAY,EAAE,CAAC,KAAK,CAAC;IACrB,eAAe,EAAE,CAAC,mBAAmB,CAAC;IACtC,KAAK;IACL,MAAM,EAAE,CAAC,SAAS,CAAC;IACnB,MAAM,EAAE,CAAC,SAAS,CAAC;IACnB,MAAM,EAAE,CAAC,SAAS,CAAC;IACnB,QAAQ;IACR,cAAc,EAAE,CAAC,eAAe,CAAC;IACjC,cAAc,EAAE,CAAC,eAAe,CAAC;IACjC,iBAAiB,EAAE,CAAC,eAAe,CAAC;IACpC,gBAAgB,EAAE,CAAC,eAAe,CAAC;IACnC,0BAA0B,EAAE,CAAC,eAAe,CAAC;IAC7C,YAAY;IACZ,MAAM,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;IACxC,YAAY,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC;IAChD,UAAU;IACV,SAAS,EAAE,CAAC,YAAY,CAAC;IACzB,sBAAsB,EAAE,CAAC,YAAY,CAAC;IACtC,MAAM,EAAE,CAAC,UAAU,CAAC;IACpB,+BAA+B;IAC/B,YAAY,EAAE,CAAC,WAAW,CAAC;IAC3B,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;CACjC,CAAC;AAEF,+DAA+D;AAC/D,SAAgB,sBAAsB,CAAC,YAAoB;;IACzD,OAAO,MAAA,+BAAuB,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,mCAAI,EAAE,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"integration-profile.secrets.js","sourceRoot":"","sources":["../../src/integration-profile/integration-profile.secrets.ts"],"names":[],"mappings":";;;AAoDA,wDAEC;AAtDD;;;;;;;;;;;GAWG;AACU,QAAA,uBAAuB,GAA6B;IAC/D,QAAQ;IACR,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,KAAK,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;IACzC,GAAG,EAAE,CAAC,mBAAmB,CAAC;IAC1B,aAAa;IACb,eAAe,EAAE,CAAC,OAAO,CAAC;IAC1B,mBAAmB,EAAE,CAAC,cAAc,CAAC;IACrC,UAAU;IACV,EAAE,EAAE,CAAC,mBAAmB,CAAC;IACzB,GAAG,EAAE,CAAC,eAAe,CAAC;IACtB,YAAY,EAAE,CAAC,KAAK,CAAC;IACrB,eAAe,EAAE,CAAC,mBAAmB,CAAC;IACtC,KAAK;IACL,MAAM,EAAE,CAAC,SAAS,CAAC;IACnB,MAAM,EAAE,CAAC,SAAS,CAAC;IACnB,MAAM,EAAE,CAAC,SAAS,CAAC;IACnB,QAAQ;IACR,cAAc,EAAE,CAAC,eAAe,CAAC;IACjC,cAAc,EAAE,CAAC,eAAe,CAAC;IACjC,iBAAiB,EAAE,CAAC,eAAe,CAAC;IACpC,gBAAgB,EAAE,CAAC,eAAe,CAAC;IACnC,0BAA0B,EAAE,CAAC,eAAe,CAAC;IAC7C,8EAA8E;IAC9E,mFAAmF;IACnF,aAAa,EAAE,CAAC,aAAa,CAAC;IAC9B,gBAAgB,EAAE,CAAC,eAAe,CAAC;IACnC,YAAY;IACZ,MAAM,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;IACxC,YAAY,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC;IAChD,UAAU;IACV,SAAS,EAAE,CAAC,YAAY,CAAC;IACzB,sBAAsB,EAAE,CAAC,YAAY,CAAC;IACtC,MAAM,EAAE,CAAC,UAAU,CAAC;IACpB,+BAA+B;IAC/B,YAAY,EAAE,CAAC,WAAW,CAAC;IAC3B,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;CACjC,CAAC;AAEF,+DAA+D;AAC/D,SAAgB,sBAAsB,CAAC,YAAoB;;IACzD,OAAO,MAAA,+BAAuB,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,mCAAI,EAAE,CAAC;AACnE,CAAC"}
@@ -21,6 +21,12 @@ export declare function buildOAuthConfigFromIntegration(_providerSlug: string, c
21
21
  clientId: string;
22
22
  clientSecret: string;
23
23
  tenantId?: string;
24
+ /** Apple Developer Team ID (Sign in with Apple). */
25
+ teamId?: string;
26
+ /** Key ID of the .p8 private key registered for Sign in with Apple. */
27
+ keyId?: string;
28
+ /** EC private key (PEM, .p8 contents) used to sign Apple's client_secret JWT. */
29
+ privateKey?: string;
24
30
  };
25
31
  export type DigitalOceanConfig = {
26
32
  apiToken: string;
@@ -1 +1 @@
1
- {"version":3,"file":"integration-profile.utils.d.ts","sourceRoot":"","sources":["../../src/integration-profile/integration-profile.utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAI9D,wBAAgB,8BAA8B,CAC5C,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,GACd,GAAG,CAmCL;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAKtD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMrE;AAID;;;;;;;;GAQG;AACH,wBAAgB,iCAAiC,CAC/C,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,GACd,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqCxB;AAED,sDAAsD;AACtD,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,CAU7E;AAED,kFAAkF;AAClF,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAMpE;AAMD,2EAA2E;AAC3E,wBAAgB,+BAA+B,CAC7C,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,OAAO,GACd;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAO/D;AAID,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,2FAA2F;AAC3F,wBAAgB,sCAAsC,CACpD,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,GACd,kBAAkB,CAcpB;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,6FAA6F;AAC7F,wBAAgB,oCAAoC,CAClD,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,GACd,gBAAgB,CAalB;AAID,sGAAsG;AACtG,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,GACd;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAc3C"}
1
+ {"version":3,"file":"integration-profile.utils.d.ts","sourceRoot":"","sources":["../../src/integration-profile/integration-profile.utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAI9D,wBAAgB,8BAA8B,CAC5C,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,GACd,GAAG,CAmCL;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAKtD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMrE;AAID;;;;;;;;GAQG;AACH,wBAAgB,iCAAiC,CAC/C,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,GACd,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqCxB;AAED,sDAAsD;AACtD,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,CAU7E;AAED,kFAAkF;AAClF,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAMpE;AAMD,2EAA2E;AAC3E,wBAAgB,+BAA+B,CAC7C,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,OAAO,GACd;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAUA;AAID,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,2FAA2F;AAC3F,wBAAgB,sCAAsC,CACpD,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,GACd,kBAAkB,CAcpB;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,6FAA6F;AAC7F,wBAAgB,oCAAoC,CAClD,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,GACd,gBAAgB,CAalB;AAID,sGAAsG;AACtG,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,GACd;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAc3C"}
@@ -138,7 +138,7 @@ function resolveFileProviderSlug(providerSlug) {
138
138
  function buildOAuthConfigFromIntegration(_providerSlug, config) {
139
139
  var _a, _b, _c;
140
140
  const cfg = (_a = config) !== null && _a !== void 0 ? _a : {};
141
- return Object.assign({ clientId: String((_b = cfg.client_id) !== null && _b !== void 0 ? _b : ''), clientSecret: String((_c = cfg.client_secret) !== null && _c !== void 0 ? _c : '') }, (cfg.tenant_id ? { tenantId: String(cfg.tenant_id) } : {}));
141
+ return Object.assign(Object.assign(Object.assign(Object.assign({ clientId: String((_b = cfg.client_id) !== null && _b !== void 0 ? _b : ''), clientSecret: String((_c = cfg.client_secret) !== null && _c !== void 0 ? _c : '') }, (cfg.tenant_id ? { tenantId: String(cfg.tenant_id) } : {})), (cfg.team_id ? { teamId: String(cfg.team_id) } : {})), (cfg.key_id ? { keyId: String(cfg.key_id) } : {})), (cfg.private_key ? { privateKey: String(cfg.private_key) } : {}));
142
142
  }
143
143
  /** Maps an integration_profile config JSON to the DigitalOcean API credentials/targets. */
144
144
  function buildDigitalOceanConfigFromIntegration(providerSlug, config) {
@@ -1 +1 @@
1
- {"version":3,"file":"integration-profile.utils.js","sourceRoot":"","sources":["../../src/integration-profile/integration-profile.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integration-profile.utils.js","sourceRoot":"","sources":["../../src/integration-profile/integration-profile.utils.ts"],"names":[],"mappings":"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"}
@@ -7,12 +7,20 @@ export declare class OAuthController {
7
7
  constructor(service: OAuthService, settingService: SettingService);
8
8
  private logOAuthRequest;
9
9
  githubCallback(code: string, state: string, res: any): Promise<any>;
10
- login(origin: string, referer: string, host: string, provider: string, res: any): Promise<any>;
10
+ /**
11
+ * Apple mandates `response_mode=form_post` whenever `scope` is requested, so it
12
+ * POSTs `code`/`state` to the single registered "Return URL" instead of a GET
13
+ * redirect. This bounces it back to a GET, mirroring the GitHub callback above,
14
+ * so the rest of the pipeline (hub forwarding, code exchange) stays identical
15
+ * across every provider.
16
+ */
17
+ appleCallback(code: string, state: string, res: any): Promise<any>;
18
+ login(origin: string, referer: string, host: string, provider: string, redirectApp: string, res: any): Promise<any>;
11
19
  mobileAuthUrl(provider: string, redirectUri: string): Promise<{
12
20
  authUrl: string;
13
21
  }>;
14
- register(provider: string, res: any): Promise<any>;
15
- connect(provider: string, res: any): Promise<any>;
22
+ register(provider: string, redirectApp: string, res: any): Promise<any>;
23
+ connect(provider: string, redirectApp: string, res: any): Promise<any>;
16
24
  callbackLogin(locale: string, ipAddress: string, userAgent: string, origin: string, referer: string, host: string, forwardedHost: string, provider: string, code: string, state: string, redirectUri: string, res: any): Promise<{
17
25
  accessToken: string;
18
26
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.controller.d.ts","sourceRoot":"","sources":["../../src/oauth/oauth.controller.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBACa,eAAe;IAGd,OAAO,CAAC,QAAQ,CAAC,OAAO;IAAgB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAFnF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;gBAE9B,OAAO,EAAE,YAAY,EAAmB,cAAc,EAAE,cAAc;IAEnG,OAAO,CAAC,eAAe;IAkCjB,cAAc,CACH,IAAI,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACtB,GAAG,KAAA;IAUN,KAAK,CACU,MAAM,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAC5B,GAAG,KAAA;IAcN,aAAa,CACE,QAAQ,EAAE,MAAM,EACb,WAAW,EAAE,MAAM;;;IAarC,QAAQ,CAAoB,QAAQ,EAAE,MAAM,EAAS,GAAG,KAAA;IAWxD,OAAO,CAAoB,QAAQ,EAAE,MAAM,EAAS,GAAG,KAAA;IAWvD,aAAa,CACP,MAAM,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACA,SAAS,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACA,aAAa,EAAE,MAAM,EAC/B,QAAQ,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACP,WAAW,EAAE,MAAM,EACb,GAAG,KAAA;;;IA6B3B,gBAAgB,CACV,MAAM,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACA,SAAS,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACC,GAAG,KAAA;;;IAO3B,eAAe,CACT,MAAM,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACA,SAAS,EAAE,MAAM,EAChC,EAAE,EAAE,EAAE;;KAAA,EACK,QAAQ,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACC,GAAG,KAAA;;;IAO3B,UAAU,CACJ,MAAM,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACA,SAAS,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACA,GAAG,KAAA;;;CAIlC"}
1
+ {"version":3,"file":"oauth.controller.d.ts","sourceRoot":"","sources":["../../src/oauth/oauth.controller.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBACa,eAAe;IAGd,OAAO,CAAC,QAAQ,CAAC,OAAO;IAAgB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAFnF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;gBAE9B,OAAO,EAAE,YAAY,EAAmB,cAAc,EAAE,cAAc;IAEnG,OAAO,CAAC,eAAe;IAkCjB,cAAc,CACH,IAAI,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACtB,GAAG,KAAA;IAaZ;;;;;;OAMG;IAGG,aAAa,CACH,IAAI,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACrB,GAAG,KAAA;IAaN,KAAK,CACU,MAAM,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EAClC,GAAG,KAAA;IAeN,aAAa,CACE,QAAQ,EAAE,MAAM,EACb,WAAW,EAAE,MAAM;;;IAarC,QAAQ,CACO,QAAQ,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EAClC,GAAG,KAAA;IAaN,OAAO,CACQ,QAAQ,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EAClC,GAAG,KAAA;IAaN,aAAa,CACP,MAAM,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACA,SAAS,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACA,aAAa,EAAE,MAAM,EAC/B,QAAQ,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACP,WAAW,EAAE,MAAM,EACb,GAAG,KAAA;;;IA+B3B,gBAAgB,CACV,MAAM,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACA,SAAS,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACC,GAAG,KAAA;;;IAO3B,eAAe,CACT,MAAM,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACA,SAAS,EAAE,MAAM,EAChC,EAAE,EAAE,EAAE;;KAAA,EACK,QAAQ,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACC,GAAG,KAAA;;;IAO3B,UAAU,CACJ,MAAM,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACA,SAAS,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACA,GAAG,KAAA;;;CAIlC"}
@@ -35,26 +35,49 @@ let OAuthController = OAuthController_1 = class OAuthController {
35
35
  this.logger.log(`OAuth ${action}: provider=${provider} locale=${locale !== null && locale !== void 0 ? locale : 'n/a'} origin=${origin !== null && origin !== void 0 ? origin : 'n/a'} referer=${referer !== null && referer !== void 0 ? referer : 'n/a'} host=${host !== null && host !== void 0 ? host : 'n/a'} ip=${ipAddress !== null && ipAddress !== void 0 ? ipAddress : 'n/a'} hasCode=${code ? 'yes' : 'no'} codeLength=${(_a = code === null || code === void 0 ? void 0 : code.length) !== null && _a !== void 0 ? _a : 0} userAgent="${summarizedUserAgent}"`);
36
36
  }
37
37
  async githubCallback(code, state, res) {
38
- const type = state || 'login';
38
+ var _a;
39
+ const forward = await this.service.resolveWebForward(state);
40
+ const type = (_a = forward === null || forward === void 0 ? void 0 : forward.flow) !== null && _a !== void 0 ? _a : (state || 'login');
41
+ const { url: frontendURL = '' } = await this.settingService.getSettingValues(['url']);
42
+ const base = (forward === null || forward === void 0 ? void 0 : forward.origin) || frontendURL;
43
+ // Preserve the signed state on web-hub flows so the initiating app's callback
44
+ // can pass it back for origin binding at the code exchange.
45
+ const stateParam = forward ? `&state=${encodeURIComponent(state)}` : '';
46
+ const redirectURL = `${base}/callback/github/${type}?code=${encodeURIComponent(code)}${stateParam}`;
47
+ return res.redirect(redirectURL);
48
+ }
49
+ /**
50
+ * Apple mandates `response_mode=form_post` whenever `scope` is requested, so it
51
+ * POSTs `code`/`state` to the single registered "Return URL" instead of a GET
52
+ * redirect. This bounces it back to a GET, mirroring the GitHub callback above,
53
+ * so the rest of the pipeline (hub forwarding, code exchange) stays identical
54
+ * across every provider.
55
+ */
56
+ async appleCallback(code, state, res) {
57
+ var _a;
58
+ const forward = await this.service.resolveWebForward(state);
59
+ const type = (_a = forward === null || forward === void 0 ? void 0 : forward.flow) !== null && _a !== void 0 ? _a : (state || 'login');
39
60
  const { url: frontendURL = '' } = await this.settingService.getSettingValues(['url']);
40
- const redirectURL = `${frontendURL}/callback/github/${type}?code=${encodeURIComponent(code)}`;
61
+ const base = (forward === null || forward === void 0 ? void 0 : forward.origin) || frontendURL;
62
+ const stateParam = forward ? `&state=${encodeURIComponent(state)}` : '';
63
+ const redirectURL = `${base}/callback/apple/${type}?code=${encodeURIComponent(code)}${stateParam}`;
41
64
  return res.redirect(redirectURL);
42
65
  }
43
- async login(origin, referer, host, provider, res) {
66
+ async login(origin, referer, host, provider, redirectApp, res) {
44
67
  this.logOAuthRequest('login-init', provider, { origin, referer, host });
45
- const url = await this.service.getAuthUrl(provider, `/callback/${provider}/login`);
68
+ const url = await this.service.getWebAuthUrl(provider, 'login', redirectApp);
46
69
  return res.redirect(url);
47
70
  }
48
71
  async mobileAuthUrl(provider, redirectUri) {
49
72
  const authUrl = await this.service.getMobileAuthUrl(provider, redirectUri);
50
73
  return { authUrl };
51
74
  }
52
- async register(provider, res) {
53
- const url = await this.service.getAuthUrl(provider, `/callback/${provider}/register`);
75
+ async register(provider, redirectApp, res) {
76
+ const url = await this.service.getWebAuthUrl(provider, 'register', redirectApp);
54
77
  return res.redirect(url);
55
78
  }
56
- async connect(provider, res) {
57
- const url = await this.service.getAuthUrl(provider, `/callback/${provider}/connect`);
79
+ async connect(provider, redirectApp, res) {
80
+ const url = await this.service.getWebAuthUrl(provider, 'connect', redirectApp);
58
81
  return res.redirect(url);
59
82
  }
60
83
  async callbackLogin(locale, ipAddress, userAgent, origin, referer, host, forwardedHost, provider, code, state, redirectUri, res) {
@@ -78,6 +101,8 @@ let OAuthController = OAuthController_1 = class OAuthController {
78
101
  type: 'login',
79
102
  redirectUri,
80
103
  includeRefreshTokenInBody: Boolean(redirectUri),
104
+ requestOrigin: origin,
105
+ requestReferer: referer,
81
106
  });
82
107
  }
83
108
  async callbackRegister(locale, ipAddress, userAgent, provider, code, res) {
@@ -101,6 +126,16 @@ __decorate([
101
126
  __metadata("design:paramtypes", [String, String, Object]),
102
127
  __metadata("design:returntype", Promise)
103
128
  ], OAuthController.prototype, "githubCallback", null);
129
+ __decorate([
130
+ (0, api_1.Public)(),
131
+ (0, common_1.Post)('apple/callback'),
132
+ __param(0, (0, common_1.Body)('code')),
133
+ __param(1, (0, common_1.Body)('state')),
134
+ __param(2, (0, common_1.Res)()),
135
+ __metadata("design:type", Function),
136
+ __metadata("design:paramtypes", [String, String, Object]),
137
+ __metadata("design:returntype", Promise)
138
+ ], OAuthController.prototype, "appleCallback", null);
104
139
  __decorate([
105
140
  (0, api_1.Public)(),
106
141
  (0, common_1.Get)(':provider/login'),
@@ -108,9 +143,10 @@ __decorate([
108
143
  __param(1, (0, common_1.Headers)('referer')),
109
144
  __param(2, (0, common_1.Headers)('host')),
110
145
  __param(3, (0, common_1.Param)('provider')),
111
- __param(4, (0, common_1.Res)()),
146
+ __param(4, (0, common_1.Query)('redirectApp')),
147
+ __param(5, (0, common_1.Res)()),
112
148
  __metadata("design:type", Function),
113
- __metadata("design:paramtypes", [String, String, String, String, Object]),
149
+ __metadata("design:paramtypes", [String, String, String, String, String, Object]),
114
150
  __metadata("design:returntype", Promise)
115
151
  ], OAuthController.prototype, "login", null);
116
152
  __decorate([
@@ -126,18 +162,20 @@ __decorate([
126
162
  (0, api_1.Public)(),
127
163
  (0, common_1.Get)(':provider/register'),
128
164
  __param(0, (0, common_1.Param)('provider')),
129
- __param(1, (0, common_1.Res)()),
165
+ __param(1, (0, common_1.Query)('redirectApp')),
166
+ __param(2, (0, common_1.Res)()),
130
167
  __metadata("design:type", Function),
131
- __metadata("design:paramtypes", [String, Object]),
168
+ __metadata("design:paramtypes", [String, String, Object]),
132
169
  __metadata("design:returntype", Promise)
133
170
  ], OAuthController.prototype, "register", null);
134
171
  __decorate([
135
172
  (0, api_1.Public)(),
136
173
  (0, common_1.Get)(':provider/connect'),
137
174
  __param(0, (0, common_1.Param)('provider')),
138
- __param(1, (0, common_1.Res)()),
175
+ __param(1, (0, common_1.Query)('redirectApp')),
176
+ __param(2, (0, common_1.Res)()),
139
177
  __metadata("design:type", Function),
140
- __metadata("design:paramtypes", [String, Object]),
178
+ __metadata("design:paramtypes", [String, String, Object]),
141
179
  __metadata("design:returntype", Promise)
142
180
  ], OAuthController.prototype, "connect", null);
143
181
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.controller.js","sourceRoot":"","sources":["../../src/oauth/oauth.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,sCAA4C;AAC5C,oDAA6C;AAE7C,2CAWwB;AACxB,gEAA4D;AAC5D,mDAA+C;AAGxC,IAAM,eAAe,uBAArB,MAAM,eAAe;IAG1B,YAA6B,OAAqB,EAAmB,cAA8B;QAAtE,YAAO,GAAP,OAAO,CAAc;QAAmB,mBAAc,GAAd,cAAc,CAAgB;QAFlF,WAAM,GAAG,IAAI,eAAM,CAAC,iBAAe,CAAC,IAAI,CAAC,CAAC;IAE2C,CAAC;IAE/F,eAAe,CACrB,MAAc,EACd,QAAgB,EAChB,EACE,MAAM,EACN,MAAM,EACN,OAAO,EACP,IAAI,EACJ,SAAS,EACT,SAAS,EACT,IAAI,GASL;;QAED,MAAM,mBAAmB,GAAG,SAAS;YACnC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG;gBACtB,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK;gBACjC,CAAC,CAAC,SAAS;YACb,CAAC,CAAC,KAAK,CAAC;QAEV,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,SAAS,MAAM,cAAc,QAAQ,WAAW,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,KAAK,WAAW,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,KAAK,YAAY,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,KAAK,SAAS,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,KAAK,OAAO,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,eAAe,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,mCAAI,CAAC,eAAe,mBAAmB,GAAG,CACzQ,CAAC;IACJ,CAAC;IAIK,AAAN,KAAK,CAAC,cAAc,CACH,IAAY,EACX,KAAa,EACtB,GAAG;QAEV,MAAM,IAAI,GAAG,KAAK,IAAI,OAAO,CAAC;QAC9B,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACtF,MAAM,WAAW,GAAG,GAAG,WAAW,oBAAoB,IAAI,SAAS,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9F,OAAO,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAIK,AAAN,KAAK,CAAC,KAAK,CACU,MAAc,EACb,OAAe,EAClB,IAAY,EACV,QAAgB,EAC5B,GAAG;QAEV,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAExE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CACvC,QAAiD,EACjD,aAAa,QAAQ,QAAQ,CAC9B,CAAC;QACF,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAKK,AAAN,KAAK,CAAC,aAAa,CACE,QAAgB,EACb,WAAmB;QAEzC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CACjD,QAAiD,EACjD,WAAW,CACZ,CAAC;QAEF,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;IAKK,AAAN,KAAK,CAAC,QAAQ,CAAoB,QAAgB,EAAS,GAAG;QAC5D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CACvC,QAAiD,EACjD,aAAa,QAAQ,WAAW,CACjC,CAAC;QACF,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAKK,AAAN,KAAK,CAAC,OAAO,CAAoB,QAAgB,EAAS,GAAG;QAC3D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CACvC,QAAiD,EACjD,aAAa,QAAQ,UAAU,CAChC,CAAC;QACF,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAKK,AAAN,KAAK,CAAC,aAAa,CACP,MAAc,EAClB,SAAiB,EACA,SAAiB,EACrB,MAAc,EACb,OAAe,EAClB,IAAY,EACA,aAAqB,EAC/B,QAAgB,EACpB,IAAY,EACX,KAAa,EACP,WAAmB,EACb,GAAG;QAE/B,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,QAAQ,EAAE;YAC/C,MAAM;YACN,MAAM;YACN,OAAO;YACP,IAAI,EAAE,aAAa,IAAI,IAAI;YAC3B,SAAS;YACT,SAAS;YACT,IAAI;SACL,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;YACjC,GAAG;YACH,MAAM;YACN,SAAS;YACT,SAAS;YACT,QAAQ,EAAE,QAAiD;YAC3D,IAAI;YACJ,KAAK;YACL,IAAI,EAAE,OAAO;YACb,WAAW;YACX,yBAAyB,EAAE,OAAO,CAAC,WAAW,CAAC;SAChD,CAAC,CAAC;IACL,CAAC;IAKK,AAAN,KAAK,CAAC,gBAAgB,CACV,MAAc,EAClB,SAAiB,EACA,SAAiB,EACrB,QAAgB,EACpB,IAAY,EACC,GAAG;QAE/B,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAiD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACjK,CAAC;IAIK,AAAN,KAAK,CAAC,eAAe,CACT,MAAc,EAClB,SAAiB,EACA,SAAiB,EAChC,EAAE,EAAE,EAAE,EACK,QAAgB,EACpB,IAAY,EACC,GAAG;QAE/B,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAiD,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5K,CAAC;IAIK,AAAN,KAAK,CAAC,UAAU,CACJ,MAAc,EAClB,SAAiB,EACA,SAAiB,EACrB,QAAgB,EACpB,KAAa,EACA,GAAG;QAE/B,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAiD,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IACpK,CAAC;CACF,CAAA;AA1LY,0CAAe;AAuCpB;IAFL,IAAA,YAAM,GAAE;IACR,IAAA,YAAG,EAAC,iBAAiB,CAAC;IAEpB,WAAA,IAAA,cAAK,EAAC,MAAM,CAAC,CAAA;IACb,WAAA,IAAA,cAAK,EAAC,OAAO,CAAC,CAAA;IACd,WAAA,IAAA,YAAG,GAAE,CAAA;;;;qDAMP;AAIK;IAFL,IAAA,YAAM,GAAE;IACR,IAAA,YAAG,EAAC,iBAAiB,CAAC;IAEpB,WAAA,IAAA,gBAAO,EAAC,QAAQ,CAAC,CAAA;IACjB,WAAA,IAAA,gBAAO,EAAC,SAAS,CAAC,CAAA;IAClB,WAAA,IAAA,gBAAO,EAAC,MAAM,CAAC,CAAA;IACf,WAAA,IAAA,cAAK,EAAC,UAAU,CAAC,CAAA;IACjB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;4CASP;AAKK;IAFL,IAAA,YAAM,GAAE;IACR,IAAA,YAAG,EAAC,2BAA2B,CAAC;IAE9B,WAAA,IAAA,cAAK,EAAC,UAAU,CAAC,CAAA;IACjB,WAAA,IAAA,cAAK,EAAC,aAAa,CAAC,CAAA;;;;oDAQtB;AAKK;IAFL,IAAA,YAAM,GAAE;IACR,IAAA,YAAG,EAAC,oBAAoB,CAAC;IACV,WAAA,IAAA,cAAK,EAAC,UAAU,CAAC,CAAA;IAAoB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;+CAMzD;AAKK;IAFL,IAAA,YAAM,GAAE;IACR,IAAA,YAAG,EAAC,mBAAmB,CAAC;IACV,WAAA,IAAA,cAAK,EAAC,UAAU,CAAC,CAAA;IAAoB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;8CAMxD;AAKK;IAFL,IAAA,YAAM,GAAE;IACR,IAAA,YAAG,EAAC,0BAA0B,CAAC;IAE7B,WAAA,IAAA,mBAAM,GAAE,CAAA;IACR,WAAA,IAAA,WAAE,GAAE,CAAA;IACJ,WAAA,IAAA,gBAAO,EAAC,YAAY,CAAC,CAAA;IACrB,WAAA,IAAA,gBAAO,EAAC,QAAQ,CAAC,CAAA;IACjB,WAAA,IAAA,gBAAO,EAAC,SAAS,CAAC,CAAA;IAClB,WAAA,IAAA,gBAAO,EAAC,MAAM,CAAC,CAAA;IACf,WAAA,IAAA,gBAAO,EAAC,kBAAkB,CAAC,CAAA;IAC3B,WAAA,IAAA,cAAK,EAAC,UAAU,CAAC,CAAA;IACjB,WAAA,IAAA,cAAK,EAAC,MAAM,CAAC,CAAA;IACb,WAAA,IAAA,cAAK,EAAC,OAAO,CAAC,CAAA;IACd,YAAA,IAAA,cAAK,EAAC,aAAa,CAAC,CAAA;IACpB,YAAA,IAAA,YAAG,EAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;;;;oDAwB5B;AAKK;IAFL,IAAA,YAAM,GAAE;IACR,IAAA,YAAG,EAAC,6BAA6B,CAAC;IAEhC,WAAA,IAAA,mBAAM,GAAE,CAAA;IACR,WAAA,IAAA,WAAE,GAAE,CAAA;IACJ,WAAA,IAAA,gBAAO,EAAC,YAAY,CAAC,CAAA;IACrB,WAAA,IAAA,cAAK,EAAC,UAAU,CAAC,CAAA;IACjB,WAAA,IAAA,cAAK,EAAC,MAAM,CAAC,CAAA;IACb,WAAA,IAAA,YAAG,EAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;;;;uDAG5B;AAIK;IADL,IAAA,YAAG,EAAC,4BAA4B,CAAC;IAE/B,WAAA,IAAA,mBAAM,GAAE,CAAA;IACR,WAAA,IAAA,WAAE,GAAE,CAAA;IACJ,WAAA,IAAA,gBAAO,EAAC,YAAY,CAAC,CAAA;IACrB,WAAA,IAAA,UAAI,GAAE,CAAA;IACN,WAAA,IAAA,cAAK,EAAC,UAAU,CAAC,CAAA;IACjB,WAAA,IAAA,cAAK,EAAC,MAAM,CAAC,CAAA;IACb,WAAA,IAAA,YAAG,EAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;;;;sDAG5B;AAIK;IADL,IAAA,eAAM,EAAC,WAAW,CAAC;IAEjB,WAAA,IAAA,mBAAM,GAAE,CAAA;IACR,WAAA,IAAA,WAAE,GAAE,CAAA;IACJ,WAAA,IAAA,gBAAO,EAAC,YAAY,CAAC,CAAA;IACrB,WAAA,IAAA,cAAK,EAAC,UAAU,CAAC,CAAA;IACjB,WAAA,IAAA,aAAI,EAAC,OAAO,CAAC,CAAA;IACb,WAAA,IAAA,YAAG,EAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;;;;iDAG5B;0BAzLU,eAAe;IAD3B,IAAA,mBAAU,EAAC,OAAO,CAAC;qCAIoB,4BAAY,EAAmC,gCAAc;GAHxF,eAAe,CA0L3B"}
1
+ {"version":3,"file":"oauth.controller.js","sourceRoot":"","sources":["../../src/oauth/oauth.controller.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.module.d.ts","sourceRoot":"","sources":["../../src/oauth/oauth.module.ts"],"names":[],"mappings":"AAoBA,qBAyBa,WAAW;CAAG"}
1
+ {"version":3,"file":"oauth.module.d.ts","sourceRoot":"","sources":["../../src/oauth/oauth.module.ts"],"names":[],"mappings":"AAsBA,qBA2Ba,WAAW;CAAG"}
@@ -21,9 +21,11 @@ const user_module_1 = require("../user/user.module");
21
21
  const oauth_callback_coordinator_service_1 = require("./oauth-callback-coordinator.service");
22
22
  const oauth_controller_1 = require("./oauth.controller");
23
23
  const oauth_service_1 = require("./oauth.service");
24
+ const apple_provider_1 = require("./providers/apple.provider");
24
25
  const facebook_provider_1 = require("./providers/facebook.provider");
25
26
  const github_provider_1 = require("./providers/github.provider");
26
27
  const google_provider_1 = require("./providers/google.provider");
28
+ const linkedin_provider_1 = require("./providers/linkedin.provider");
27
29
  const microsoft_entra_id_provider_1 = require("./providers/microsoft-entra-id.provider");
28
30
  const microsoft_provider_1 = require("./providers/microsoft.provider");
29
31
  let OAuthModule = class OAuthModule {
@@ -52,6 +54,8 @@ exports.OAuthModule = OAuthModule = __decorate([
52
54
  github_provider_1.GithubProvider,
53
55
  microsoft_provider_1.MicrosoftProvider,
54
56
  microsoft_entra_id_provider_1.MicrosoftEntraIdProvider,
57
+ apple_provider_1.AppleProvider,
58
+ linkedin_provider_1.LinkedinProvider,
55
59
  ],
56
60
  exports: [oauth_service_1.OAuthService],
57
61
  })
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.module.js","sourceRoot":"","sources":["../../src/oauth/oauth.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,gDAAiE;AACjE,oDAAmD;AACnD,yCAA2C;AAC3C,2CAAoD;AACpD,2CAA8C;AAC9C,qDAAiD;AACjD,qDAAiD;AACjD,qDAAiD;AACjD,iEAA6D;AAC7D,wDAAoD;AACpD,qDAAiD;AACjD,6FAAuF;AACvF,yDAAqD;AACrD,mDAA+C;AAC/C,qEAAiE;AACjE,iEAA6D;AAC7D,iEAA6D;AAC7D,yFAAmF;AACnF,uEAAmE;AA2B5D,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IAzBvB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,kBAAU,CAAC;YAC5B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,yBAAY,CAAC;YAC9B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,qBAAc,CAAC;YAChC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,qBAAY,CAAC;YAC9B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;YAC5B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;YAC5B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,gCAAc,CAAC;YAChC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,0BAAW,CAAC;YAC7B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;YAC5B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;SAC7B;QACD,WAAW,EAAE,CAAC,kCAAe,CAAC;QAC9B,SAAS,EAAE;YACT,oEAA+B;YAC/B,4BAAY;YACZ,gCAAc;YACd,oCAAgB;YAChB,gCAAc;YACd,sCAAiB;YACjB,sDAAwB;SACzB;QACD,OAAO,EAAE,CAAC,4BAAY,CAAC;KACxB,CAAC;GACW,WAAW,CAAG"}
1
+ {"version":3,"file":"oauth.module.js","sourceRoot":"","sources":["../../src/oauth/oauth.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,gDAAiE;AACjE,oDAAmD;AACnD,yCAA2C;AAC3C,2CAAoD;AACpD,2CAA8C;AAC9C,qDAAiD;AACjD,qDAAiD;AACjD,qDAAiD;AACjD,iEAA6D;AAC7D,wDAAoD;AACpD,qDAAiD;AACjD,6FAAuF;AACvF,yDAAqD;AACrD,mDAA+C;AAC/C,+DAA2D;AAC3D,qEAAiE;AACjE,iEAA6D;AAC7D,iEAA6D;AAC7D,qEAAiE;AACjE,yFAAmF;AACnF,uEAAmE;AA6B5D,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IA3BvB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,kBAAU,CAAC;YAC5B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,yBAAY,CAAC;YAC9B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,qBAAc,CAAC;YAChC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,qBAAY,CAAC;YAC9B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;YAC5B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;YAC5B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,gCAAc,CAAC;YAChC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,0BAAW,CAAC;YAC7B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;YAC5B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;SAC7B;QACD,WAAW,EAAE,CAAC,kCAAe,CAAC;QAC9B,SAAS,EAAE;YACT,oEAA+B;YAC/B,4BAAY;YACZ,gCAAc;YACd,oCAAgB;YAChB,gCAAc;YACd,sCAAiB;YACjB,sDAAwB;YACxB,8BAAa;YACb,oCAAgB;SACjB;QACD,OAAO,EAAE,CAAC,4BAAY,CAAC;KACxB,CAAC;GACW,WAAW,CAAG"}
@@ -7,9 +7,11 @@ import { SettingService } from '../setting/setting.service';
7
7
  import { TokenService } from '../token/token.service';
8
8
  import { UserService } from '../user/user.service';
9
9
  import { OAuthCallbackCoordinatorService } from './oauth-callback-coordinator.service';
10
+ import { AppleProvider } from './providers/apple.provider';
10
11
  import { FacebookProvider } from './providers/facebook.provider';
11
12
  import { GithubProvider } from './providers/github.provider';
12
13
  import { GoogleProvider } from './providers/google.provider';
14
+ import { LinkedinProvider } from './providers/linkedin.provider';
13
15
  import { MicrosoftEntraIdProvider } from './providers/microsoft-entra-id.provider';
14
16
  import { MicrosoftProvider } from './providers/microsoft.provider';
15
17
  type HandleCallbackProps = {
@@ -25,6 +27,10 @@ type HandleCallbackProps = {
25
27
  redirectUri?: string;
26
28
  state?: string;
27
29
  includeRefreshTokenInBody?: boolean;
30
+ /** Origin header of the request that hit the callback (used to bind web hub flows). */
31
+ requestOrigin?: string;
32
+ /** Referer header, used as a fallback when the Origin header is absent. */
33
+ requestReferer?: string;
28
34
  };
29
35
  export declare class OAuthService {
30
36
  private readonly callbackCoordinator;
@@ -39,10 +45,40 @@ export declare class OAuthService {
39
45
  private readonly logger;
40
46
  private providers;
41
47
  private readonly mobileOAuthStateTtlMs;
42
- constructor(google: GoogleProvider, facebook: FacebookProvider, microsoft: MicrosoftProvider, github: GithubProvider, microsoftEntraId: MicrosoftEntraIdProvider, callbackCoordinator: OAuthCallbackCoordinatorService, auth: AuthService, file: FileService, mail: MailService, security: SecurityService, prisma: PrismaService, token: TokenService, setting: SettingService, user: UserService);
48
+ /** Sentinel app in the web state meaning "the OAuth hub handles this locally". */
49
+ private static readonly WEB_STATE_SELF_APP;
50
+ constructor(google: GoogleProvider, facebook: FacebookProvider, microsoft: MicrosoftProvider, github: GithubProvider, microsoftEntraId: MicrosoftEntraIdProvider, apple: AppleProvider, linkedin: LinkedinProvider, callbackCoordinator: OAuthCallbackCoordinatorService, auth: AuthService, file: FileService, mail: MailService, security: SecurityService, prisma: PrismaService, token: TokenService, setting: SettingService, user: UserService);
43
51
  getAuthUrl(provider: user_account_provider_52222e2ecb_enum, callbackPath: string): Promise<string>;
44
52
  getMobileAuthUrl(provider: user_account_provider_52222e2ecb_enum, redirectUri: string): Promise<string>;
45
- handleCallback({ res, locale, ipAddress, userAgent, provider, code, type, userId, email, redirectUri, state, includeRefreshTokenInBody, }: HandleCallbackProps): Promise<{
53
+ /**
54
+ * Builds a provider auth URL for a browser (web) flow that may be initiated by an
55
+ * app other than the OAuth hub (the app configured in the `url` setting).
56
+ *
57
+ * When `redirectApp` resolves to a known origin (via the `app-urls` setting), a
58
+ * signed `state` (`hhweb.<app>.<flow>.<sig>`) is attached so the hub can forward
59
+ * the callback back to the initiating app and the backend can bind the code
60
+ * exchange to that origin. Without a resolvable `redirectApp`, the URL is returned
61
+ * unchanged — identical to the legacy hub-only behavior.
62
+ */
63
+ getWebAuthUrl(provider: user_account_provider_52222e2ecb_enum, flow: 'login' | 'register' | 'connect', redirectApp?: string): Promise<string>;
64
+ /**
65
+ * Resolves how the GitHub backend bounce should forward the browser. GitHub only
66
+ * supports a single registered callback URL (the API), so the provider always
67
+ * lands on the backend; this maps the signed web state to the initiating app's
68
+ * origin. Returns null for legacy hub-only flows (state carries just the flow).
69
+ */
70
+ resolveWebForward(state?: string): Promise<{
71
+ origin: string | null;
72
+ flow: 'login' | 'register' | 'connect';
73
+ } | null>;
74
+ private sanitizeAppKey;
75
+ private buildWebState;
76
+ /** Parses and verifies a signed web-hub state. Returns null when invalid. */
77
+ private parseWebState;
78
+ /** Resolves an app key to its configured base origin via the `app-urls` setting. */
79
+ private resolveAppOrigin;
80
+ private normalizeOrigin;
81
+ handleCallback({ res, locale, ipAddress, userAgent, provider, code, type, userId, email, redirectUri, state, includeRefreshTokenInBody, requestOrigin, requestReferer, }: HandleCallbackProps): Promise<{
46
82
  accessToken: string;
47
83
  }>;
48
84
  private getProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.service.d.ts","sourceRoot":"","sources":["../../src/oauth/oauth.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,aAAa,EAAE,qCAAqC,EAAE,MAAM,qBAAqB,CAAC;AAWnG,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AAMvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,KAAK,mBAAmB,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,QAAQ,CAAC;IACd,QAAQ,EAAE,qCAAqC,CAAC;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC,CAAC;AAEF,qBACa,YAAY;IAWrB,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAEpC,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,IAAI;IApBvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IACxD,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAkB;gBAGtD,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,cAAc,EACtB,gBAAgB,EAAE,wBAAwB,EACzB,mBAAmB,EAAE,+BAA+B,EAEpD,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,cAAc,EAEvB,IAAI,EAAE,WAAW;IAS9B,UAAU,CAAC,QAAQ,EAAE,qCAAqC,EAAE,YAAY,EAAE,MAAM;IAQhF,gBAAgB,CACpB,QAAQ,EAAE,qCAAqC,EAC/C,WAAW,EAAE,MAAM;IAqBf,cAAc,CAAC,EACnB,GAAG,EACH,MAAM,EACN,SAAS,EACT,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,KAAK,EACL,WAAW,EACX,KAAK,EACL,yBAAyB,GAC1B,EAAE,mBAAmB;;;IAuGtB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAO1C;IAEF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAO5C;IAEI,iBAAiB,CAAC,QAAQ,EAAE,qCAAqC,GAAG,OAAO,CAAC,OAAO,CAAC;YAO5E,iBAAiB;IAQ/B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,kBAAkB;YAUZ,gBAAgB;YAiChB,kBAAkB;YA+ClB,uBAAuB;YAgCvB,gBAAgB;IAyB9B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,gBAAgB;YAkEV,WAAW;YAsDX,cAAc;YA0Fd,aAAa;YAoEb,gBAAgB;YAuBhB,6BAA6B;CA+B5C"}
1
+ {"version":3,"file":"oauth.service.d.ts","sourceRoot":"","sources":["../../src/oauth/oauth.service.ts"],"names":[],"mappings":"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"}