Skip to content

Comments

Gitlab provider clean#4

Closed
nullfunc wants to merge 393 commits intomasterfrom
gitlab-provider-clean
Closed

Gitlab provider clean#4
nullfunc wants to merge 393 commits intomasterfrom
gitlab-provider-clean

Conversation

@nullfunc
Copy link

@nullfunc nullfunc commented Sep 4, 2025

a gitlab provider for openauth

edw-defang and others added 30 commits April 23, 2024 14:10
Pulumi adds the previous run output to environment by default, which
results in an args too long error some times.
See: pulumi/pulumi-command#285
This reverts commit 95863c0.
jordanstephens and others added 25 commits June 23, 2025 02:56
)

encountered here:
https://github.com/DefangLabs/portal/actions/runs/15785911830/job/44502169356
```
2025-06-20T19:03:43.513Z cd  ** Update started for stack beta
2025-06-20T19:03:44.674Z cd  ** Update failed; executing forced refresh...
2025-06-20T19:03:45.366Z cd  ** error: the stack is currently locked by 1 lock(s). Either wait for the other process(es) to end or delete the lock file with `pulumi cancel`.
Error: deployment failed: EssentialContainerExited: Essential container in task exited with code 255
 ! deployment failed: EssentialContainerExited: Essential container in task exited with code 255
```
pulumi can only handle one deployment at a time
This work came out of this doc:
https://www.notion.so/defang-io/Terms-of-Service-and-MCP-2118fc22c43080ae8e44d076bc696cc6

This sets us up for multiple auth providers, and also centralizes the
Terms of Service acceptance text to `auth.defang.io` so it can be used
by the CLI.

Todo
- [x] Redirect `/auth/login` to
`https://auth.defang.io/authorize?client_id=defang-portal&...`
- [x] Style the page at `packages/auth/src/issuer/select.tsx` using the
styles from `src/app/auth/login/page.tsx`
- [x] remove assumed provider from the cli auth invocation
(DefangLabs/defang#1267)
- [x] remove client-side TOS acceptance in portal
- [ ] Confirm that this doesn't break the 1-click deployment flow (maybe
this makes it simpler?)

**Screenshots**

![Screenshot 2025-06-20 at 11 50
11](https://github.com/user-attachments/assets/dc836ff7-f324-4a31-924c-a259e1a4007e)
![Screenshot 2025-06-20 at 11 49
31](https://github.com/user-attachments/assets/a06fa1b1-52cc-4a7d-9828-d6119a0556e8)
![Screenshot 2025-06-20 at 11 49
35](https://github.com/user-attachments/assets/d27fc3b4-30c8-4444-a845-3c4835193250)

---------

Co-authored-by: Raphael Titsworth-Morin <raphael@raphaeltm.com>
Add necessary tables and registration steps.

TODO:
 * [x] Freeform tenant names (no need to be unique or dns friendly)

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jordan Stephens <jordan@stephens.io>
Co-authored-by: Lio李歐 <lionello@users.noreply.github.com>
I must have forgotten to test dark mode before I merged anomalyco#207

Dark mode styles make the text unreadable on the auth page:
![Screenshot 2025-07-02 at 11 27
22](https://github.com/user-attachments/assets/f347d83f-7afb-42e9-b59e-47ee1aaa692b)

This PR changes the styles to look like this
![Screenshot 2025-07-02 at 11 27
14](https://github.com/user-attachments/assets/ae76a0da-0775-4f5f-9681-2eec3d8d859a)
Reverts DefangLabs/portal#229, reapplies anomalyco#202

- [ ] fix `applying migrations failed on database(s): Primary` during
prod deployment
Bumps [form-data](https://github.com/form-data/form-data) from 4.0.1 to
4.0.4.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/form-data/form-data/blob/master/CHANGELOG.md">form-data's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/form-data/form-data/compare/v4.0.3...v4.0.4">v4.0.4</a>
- 2025-07-16</h2>
<h3>Commits</h3>
<ul>
<li>[meta] add <code>auto-changelog</code> <a
href="https://github.com/form-data/form-data/commit/811f68282fab0315209d0e2d1c44b6c32ea0d479"><code>811f682</code></a></li>
<li>[Tests] handle predict-v8-randomness failures in node &lt; 17 and
node &gt; 23 <a
href="https://github.com/form-data/form-data/commit/1d11a76434d101f22fdb26b8aef8615f28b98402"><code>1d11a76</code></a></li>
<li>[Fix] Switch to using <code>crypto</code> random for boundary values
<a
href="https://github.com/form-data/form-data/commit/3d1723080e6577a66f17f163ecd345a21d8d0fd0"><code>3d17230</code></a></li>
<li>[Tests] fix linting errors <a
href="https://github.com/form-data/form-data/commit/5e340800b5f8914213e4e0378c084aae71cfd73a"><code>5e34080</code></a></li>
<li>[meta] actually ensure the readme backup isn’t published <a
href="https://github.com/form-data/form-data/commit/316c82ba93fd4985af757b771b9a1f26d3b709ef"><code>316c82b</code></a></li>
<li>[Dev Deps] update <code>@ljharb/eslint-config</code> <a
href="https://github.com/form-data/form-data/commit/58c25d76406a5b0dfdf54045cf252563f2bbda8d"><code>58c25d7</code></a></li>
<li>[meta] fix readme capitalization <a
href="https://github.com/form-data/form-data/commit/2300ca19595b0ee96431e868fe2a40db79e41c61"><code>2300ca1</code></a></li>
</ul>
<h2><a
href="https://github.com/form-data/form-data/compare/v4.0.2...v4.0.3">v4.0.3</a>
- 2025-06-05</h2>
<h3>Fixed</h3>
<ul>
<li>[Fix] <code>append</code>: avoid a crash on nullish values <a
href="https://redirect.github.com/form-data/form-data/issues/577"><code>[#577](https://github.com/form-data/form-data/issues/577)</code></a></li>
</ul>
<h3>Commits</h3>
<ul>
<li>[eslint] use a shared config <a
href="https://github.com/form-data/form-data/commit/426ba9ac440f95d1998dac9a5cd8d738043b048f"><code>426ba9a</code></a></li>
<li>[eslint] fix some spacing issues <a
href="https://github.com/form-data/form-data/commit/20941917f0e9487e68c564ebc3157e23609e2939"><code>2094191</code></a></li>
<li>[Refactor] use <code>hasown</code> <a
href="https://github.com/form-data/form-data/commit/81ab41b46fdf34f5d89d7ff30b513b0925febfaa"><code>81ab41b</code></a></li>
<li>[Fix] validate boundary type in <code>setBoundary()</code> method <a
href="https://github.com/form-data/form-data/commit/8d8e4693093519f7f18e3c597d1e8df8c493de9e"><code>8d8e469</code></a></li>
<li>[Tests] add tests to check the behavior of <code>getBoundary</code>
with non-strings <a
href="https://github.com/form-data/form-data/commit/837b8a1f7562bfb8bda74f3fc538adb7a5858995"><code>837b8a1</code></a></li>
<li>[Dev Deps] remove unused deps <a
href="https://github.com/form-data/form-data/commit/870e4e665935e701bf983a051244ab928e62d58e"><code>870e4e6</code></a></li>
<li>[meta] remove local commit hooks <a
href="https://github.com/form-data/form-data/commit/e6e83ccb545a5619ed6cd04f31d5c2f655eb633e"><code>e6e83cc</code></a></li>
<li>[Dev Deps] update <code>eslint</code> <a
href="https://github.com/form-data/form-data/commit/4066fd6f65992b62fa324a6474a9292a4f88c916"><code>4066fd6</code></a></li>
<li>[meta] fix scripts to use prepublishOnly <a
href="https://github.com/form-data/form-data/commit/c4bbb13c0ef669916657bc129341301b1d331d75"><code>c4bbb13</code></a></li>
</ul>
<h2><a
href="https://github.com/form-data/form-data/compare/v4.0.1...v4.0.2">v4.0.2</a>
- 2025-02-14</h2>
<h3>Merged</h3>
<ul>
<li>[Fix] set <code>Symbol.toStringTag</code> when available <a
href="https://redirect.github.com/form-data/form-data/pull/573"><code>[#573](https://github.com/form-data/form-data/issues/573)</code></a></li>
<li>[Fix] set <code>Symbol.toStringTag</code> when available <a
href="https://redirect.github.com/form-data/form-data/pull/573"><code>[#573](https://github.com/form-data/form-data/issues/573)</code></a></li>
<li>fix (npmignore): ignore temporary build files <a
href="https://redirect.github.com/form-data/form-data/pull/532"><code>[#532](https://github.com/form-data/form-data/issues/532)</code></a></li>
<li>fix (npmignore): ignore temporary build files <a
href="https://redirect.github.com/form-data/form-data/pull/532"><code>[#532](https://github.com/form-data/form-data/issues/532)</code></a></li>
</ul>
<h3>Fixed</h3>
<ul>
<li>[Fix] set <code>Symbol.toStringTag</code> when available (<a
href="https://redirect.github.com/form-data/form-data/issues/573">#573</a>)
<a
href="https://redirect.github.com/form-data/form-data/issues/396"><code>[#396](https://github.com/form-data/form-data/issues/396)</code></a></li>
<li>[Fix] set <code>Symbol.toStringTag</code> when available (<a
href="https://redirect.github.com/form-data/form-data/issues/573">#573</a>)
<a
href="https://redirect.github.com/form-data/form-data/issues/396"><code>[#396](https://github.com/form-data/form-data/issues/396)</code></a></li>
<li>[Fix] set <code>Symbol.toStringTag</code> when available <a
href="https://redirect.github.com/form-data/form-data/issues/396"><code>[#396](https://github.com/form-data/form-data/issues/396)</code></a></li>
</ul>
<h3>Commits</h3>
<ul>
<li>Merge tags v2.5.3 and v3.0.3 <a
href="https://github.com/form-data/form-data/commit/92613b9208556eb4ebc482fdf599fae111626fb6"><code>92613b9</code></a></li>
<li>[Tests] migrate from travis to GHA <a
href="https://github.com/form-data/form-data/commit/806eda77740e6e3c67c7815afb216f2e1f187ba5"><code>806eda7</code></a></li>
<li>[Tests] migrate from travis to GHA <a
href="https://github.com/form-data/form-data/commit/8fdb3bc6b5d001f8909a9fca391d1d1d97ef1d79"><code>8fdb3bc</code></a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/form-data/form-data/commit/41996f5ac73a867046d48512cab62e64fc846dad"><code>41996f5</code></a>
v4.0.4</li>
<li><a
href="https://github.com/form-data/form-data/commit/316c82ba93fd4985af757b771b9a1f26d3b709ef"><code>316c82b</code></a>
[meta] actually ensure the readme backup isn’t published</li>
<li><a
href="https://github.com/form-data/form-data/commit/2300ca19595b0ee96431e868fe2a40db79e41c61"><code>2300ca1</code></a>
[meta] fix readme capitalization</li>
<li><a
href="https://github.com/form-data/form-data/commit/811f68282fab0315209d0e2d1c44b6c32ea0d479"><code>811f682</code></a>
[meta] add <code>auto-changelog</code></li>
<li><a
href="https://github.com/form-data/form-data/commit/5e340800b5f8914213e4e0378c084aae71cfd73a"><code>5e34080</code></a>
[Tests] fix linting errors</li>
<li><a
href="https://github.com/form-data/form-data/commit/1d11a76434d101f22fdb26b8aef8615f28b98402"><code>1d11a76</code></a>
[Tests] handle predict-v8-randomness failures in node &lt; 17 and node
&gt; 23</li>
<li><a
href="https://github.com/form-data/form-data/commit/58c25d76406a5b0dfdf54045cf252563f2bbda8d"><code>58c25d7</code></a>
[Dev Deps] update <code>@ljharb/eslint-config</code></li>
<li><a
href="https://github.com/form-data/form-data/commit/3d1723080e6577a66f17f163ecd345a21d8d0fd0"><code>3d17230</code></a>
[Fix] Switch to using <code>crypto</code> random for boundary
values</li>
<li><a
href="https://github.com/form-data/form-data/commit/d8d67dc8ac79285154edf7d3f57dbab593b9a146"><code>d8d67dc</code></a>
v4.0.3</li>
<li><a
href="https://github.com/form-data/form-data/commit/e6e83ccb545a5619ed6cd04f31d5c2f655eb633e"><code>e6e83cc</code></a>
[meta] remove local commit hooks</li>
<li>Additional commits viewable in <a
href="https://github.com/form-data/form-data/compare/v4.0.1...v4.0.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=form-data&package-manager=npm_and_yarn&previous-version=4.0.1&new-version=4.0.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/DefangLabs/portal/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eric Liu <eric.liu@defang.io>
Co-authored-by: Eric Liu <nullfunc@users.noreply.github.com>
Fixes anomalyco#250 

- [x] handle form POST
- [x] resolve AWS marketplace token w/ AWS `ResolveCustomer`
- [x] store AWS marketplace info in tenants table
- [x] notify Fabric of AWS subscription through Hasura events (cf.
existing Stripe hooks); see
DefangLabs/defang-mvp#2096
- [ ] handle `x-amzn-marketplace-offer-type=free-trial` form param

---------

Co-authored-by: Raphael Titsworth-Morin <raphael@raphaeltm.com>
Co-authored-by: Eric Liu <eric.liu@defang.io>
Co-authored-by: Eric Liu <nullfunc@users.noreply.github.com>
Co-authored-by: Jay V <air@live.ca>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Lionello Lunesu <lio+git@lunesu.com>
Co-authored-by: Zach Hawtof <zhawtof@gmail.com>
Co-authored-by: Luke Shay <38476395+lukeshay@users.noreply.github.com>
Co-authored-by: Dax <mail@thdxr.com>
Co-authored-by: Colin McDonnell <colinmcd94@gmail.com>
Co-authored-by: Sean Campbell <sean.campbell13@gmail.com>
Co-authored-by: Richard Lee <14349+dlackty@users.noreply.github.com>
Co-authored-by: Saswat Das <68921527+dassaswat@users.noreply.github.com>
Co-authored-by: Dax Raad <d@ironbay.co>
Co-authored-by: Clemens Stolle <klaemo@fastmail.fm>
Co-authored-by: Frederic R. <zougi.fr@gmail.com>
Co-authored-by: hsnmkls <82351571+hazelnutcloud@users.noreply.github.com>
Co-authored-by: Constantin Angheloiu <constantin.angheloiu@gmail.com>
Co-authored-by: Grant  Montgomery <lettucebowler@gmail.com>
Co-authored-by: Andrea Amorosi <dreamorosi@gmail.com>
Co-authored-by: Sergio Xalambrí <hello@sergiodxa.com>
Co-authored-by: Alasdair Brown <sdairs@users.noreply.github.com>
Co-authored-by: Taylan Sahin <info@taylansahin.net>
Co-authored-by: Achille Lacoin <achille.lacoin@gmail.com>
Co-authored-by: Saatvik Arya <aryasaatvik@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jordan Stephens <jordan@stephens.io>
Co-authored-by: Lio李歐 <lionello@users.noreply.github.com>
Make sure we redirect to billing complete page and take AWS details into
account when displaying custom pricing table.
- Adds GitlabProvider function with proper OAuth2 endpoints
- Includes complete TypeScript interface and JSDoc documentation
- Based on the standard Oauth2Provider pattern used by other providers
- Adds GitlabProvider function with OAuth2 endpoints for GitLab.com
- Includes TypeScript interface GitlabConfig extending Oauth2WrappedConfig
- Complete JSDoc documentation with usage examples
- Uses standard Oauth2Provider pattern consistent with other providers

Closes: Adds GitLab authentication support to OpenAuth
Copy link
Member

@lionello lionello left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't merge to master but use our own branch (whichever portal wants)

@nullfunc
Copy link
Author

nullfunc commented Sep 4, 2025

will redo as just the gitlab.ts file in a new PR and branch

@nullfunc nullfunc closed this Sep 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants