From 7894a1cd4deec8f9f95409f489ab1d81498eaaee Mon Sep 17 00:00:00 2001 From: Erez Hod Date: Sat, 24 Jun 2023 19:25:42 +0300 Subject: [PATCH 1/9] Fixed `Extraneous argument label 'status:' in call` for Apple App setup in step 3 for `setSelfSigned` method. --- .../overview/platforms/wizard/apple/step3.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/console/project-[project]/overview/platforms/wizard/apple/step3.svelte b/src/routes/console/project-[project]/overview/platforms/wizard/apple/step3.svelte index fc5b28077..d0394946f 100644 --- a/src/routes/console/project-[project]/overview/platforms/wizard/apple/step3.svelte +++ b/src/routes/console/project-[project]/overview/platforms/wizard/apple/step3.svelte @@ -10,7 +10,7 @@ let client = Client() .setEndpoint("${endpoint}") .setProject("${project}") - .setSelfSigned(status: true) // For self signed certificates, only use for development`; + .setSelfSigned(true) // For self signed certificates, only use for development`; let showAlert = true; From 53abcbe90f1f77deb9b9b22d5aee039599f6f32a Mon Sep 17 00:00:00 2001 From: Steven Nguyen Date: Thu, 27 Apr 2023 19:06:12 -0700 Subject: [PATCH 2/9] Add a generic OIDC OAuth2 provider --- src/lib/stores/oauth-providers.ts | 11 +- .../project-[project]/auth/oidcOAuth.svelte | 127 ++++++++++++++++++ static/icons/dark/color/oidc.svg | 4 + static/icons/dark/grayscale/oidc.svg | 4 + static/icons/light/color/oidc.svg | 4 + static/icons/light/grayscale/oidc.svg | 4 + 6 files changed, 151 insertions(+), 3 deletions(-) create mode 100644 src/routes/console/project-[project]/auth/oidcOAuth.svelte create mode 100644 static/icons/dark/color/oidc.svg create mode 100644 static/icons/dark/grayscale/oidc.svg create mode 100644 static/icons/light/color/oidc.svg create mode 100644 static/icons/light/grayscale/oidc.svg diff --git a/src/lib/stores/oauth-providers.ts b/src/lib/stores/oauth-providers.ts index 40bcff26a..fbdd710cb 100644 --- a/src/lib/stores/oauth-providers.ts +++ b/src/lib/stores/oauth-providers.ts @@ -1,14 +1,15 @@ -import { writable } from 'svelte/store'; import type { Models } from '@appwrite.io/console'; import type { SvelteComponent } from 'svelte'; +import { writable } from 'svelte/store'; import Apple from '../../routes/console/project-[project]/auth/appleOAuth.svelte'; -import Microsoft from '../../routes/console/project-[project]/auth/microsoftOAuth.svelte'; -import Okta from '../../routes/console/project-[project]/auth/oktaOAuth.svelte'; import Auth0 from '../../routes/console/project-[project]/auth/auth0OAuth.svelte'; import Authentik from '../../routes/console/project-[project]/auth/authentikOAuth.svelte'; import GitLab from '../../routes/console/project-[project]/auth/gitlabOAuth.svelte'; import Google from '../../routes/console/project-[project]/auth/googleOAuth.svelte'; import Main from '../../routes/console/project-[project]/auth/mainOAuth.svelte'; +import Microsoft from '../../routes/console/project-[project]/auth/microsoftOAuth.svelte'; +import Oidc from '../../routes/console/project-[project]/auth/oidcOAuth.svelte'; +import Okta from '../../routes/console/project-[project]/auth/oktaOAuth.svelte'; export type Provider = Models.Provider & { icon: string; @@ -94,6 +95,10 @@ const setProviders = (project: Models.Project): Provider[] => { case 'notion': docs = 'https://developers.notion.com/docs'; break; + case 'oidc': + docs = 'https://openid.net/connect/faq/'; + component = Oidc; + break; case 'okta': docs = 'https://developer.okta.com'; component = Okta; diff --git a/src/routes/console/project-[project]/auth/oidcOAuth.svelte b/src/routes/console/project-[project]/auth/oidcOAuth.svelte new file mode 100644 index 000000000..8c3db7df6 --- /dev/null +++ b/src/routes/console/project-[project]/auth/oidcOAuth.svelte @@ -0,0 +1,127 @@ + + + + {provider.name.toUpperCase()} OAuth2 Settings + +

+ To use {provider.name.toUpperCase()} authentication in your application, first fill in this + form. For more info you can + visit the docs. +

+ + + + + + + + + + To complete set up, add this OAuth2 redirect URI to your {provider.name} app configuration. + +
+

URI

+ +
+
+ + + + +
diff --git a/static/icons/dark/color/oidc.svg b/static/icons/dark/color/oidc.svg new file mode 100644 index 000000000..0eb22aad2 --- /dev/null +++ b/static/icons/dark/color/oidc.svg @@ -0,0 +1,4 @@ + + + + diff --git a/static/icons/dark/grayscale/oidc.svg b/static/icons/dark/grayscale/oidc.svg new file mode 100644 index 000000000..f3a6a0937 --- /dev/null +++ b/static/icons/dark/grayscale/oidc.svg @@ -0,0 +1,4 @@ + + + + diff --git a/static/icons/light/color/oidc.svg b/static/icons/light/color/oidc.svg new file mode 100644 index 000000000..0eb22aad2 --- /dev/null +++ b/static/icons/light/color/oidc.svg @@ -0,0 +1,4 @@ + + + + diff --git a/static/icons/light/grayscale/oidc.svg b/static/icons/light/grayscale/oidc.svg new file mode 100644 index 000000000..84da2cb78 --- /dev/null +++ b/static/icons/light/grayscale/oidc.svg @@ -0,0 +1,4 @@ + + + + From 68867afabfd3431d65e7263edcc7d00163cd75d5 Mon Sep 17 00:00:00 2001 From: Steven Nguyen Date: Thu, 20 Jul 2023 16:17:49 -0700 Subject: [PATCH 3/9] Format OAuth2 provider name better Show provider name in the Console and use the provider key for everything else. --- src/lib/stores/oauth-providers.ts | 8 +++++--- .../console/project-[project]/auth/appleOAuth.svelte | 4 +--- .../console/project-[project]/auth/auth0OAuth.svelte | 4 +--- .../project-[project]/auth/authentikOAuth.svelte | 4 +--- .../console/project-[project]/auth/gitlabOAuth.svelte | 4 +--- .../console/project-[project]/auth/mainOAuth.svelte | 4 +--- .../project-[project]/auth/microsoftOAuth.svelte | 4 +--- .../console/project-[project]/auth/oidcOAuth.svelte | 10 ++++------ .../console/project-[project]/auth/oktaOAuth.svelte | 4 +--- .../project-[project]/auth/settings/+page.svelte | 2 +- .../console/project-[project]/auth/updateOAuth.ts | 2 +- 11 files changed, 18 insertions(+), 32 deletions(-) diff --git a/src/lib/stores/oauth-providers.ts b/src/lib/stores/oauth-providers.ts index fbdd710cb..c43a597df 100644 --- a/src/lib/stores/oauth-providers.ts +++ b/src/lib/stores/oauth-providers.ts @@ -12,6 +12,7 @@ import Oidc from '../../routes/console/project-[project]/auth/oidcOAuth.svelte'; import Okta from '../../routes/console/project-[project]/auth/oktaOAuth.svelte'; export type Provider = Models.Provider & { + key: string; icon: string; docs?: string; component?: typeof SvelteComponent; @@ -24,11 +25,12 @@ export type Providers = { const setProviders = (project: Models.Project): Provider[] => { return ( project?.providers.map((n) => { + const p = n as Models.Provider & { key: string }; let docs: Provider['docs']; - let icon: Provider['icon'] = n.name.toLowerCase(); + let icon: Provider['icon'] = p.key.toLowerCase(); let component: Provider['component'] = Main; - switch (n.name.toLowerCase()) { + switch (p.key.toLowerCase()) { case 'amazon': docs = 'https://developer.amazon.com/apps-and-games/services-and-apis'; break; @@ -156,7 +158,7 @@ const setProviders = (project: Models.Project): Provider[] => { } return { - ...n, + ...p, icon, docs, component diff --git a/src/routes/console/project-[project]/auth/appleOAuth.svelte b/src/routes/console/project-[project]/auth/appleOAuth.svelte index 88b48040c..850ae6721 100644 --- a/src/routes/console/project-[project]/auth/appleOAuth.svelte +++ b/src/routes/console/project-[project]/auth/appleOAuth.svelte @@ -63,9 +63,7 @@

URI

+ value={`${sdk.forConsole.client.config.endpoint}/account/sessions/oauth2/callback/${provider.key}/${projectId}`} />
diff --git a/src/routes/console/project-[project]/auth/auth0OAuth.svelte b/src/routes/console/project-[project]/auth/auth0OAuth.svelte index b8e0fa35c..52e46a680 100644 --- a/src/routes/console/project-[project]/auth/auth0OAuth.svelte +++ b/src/routes/console/project-[project]/auth/auth0OAuth.svelte @@ -72,9 +72,7 @@

URI

+ value={`${sdk.forConsole.client.config.endpoint}/account/sessions/oauth2/callback/${provider.key}/${projectId}`} />
diff --git a/src/routes/console/project-[project]/auth/authentikOAuth.svelte b/src/routes/console/project-[project]/auth/authentikOAuth.svelte index 350fac230..e204be4e0 100644 --- a/src/routes/console/project-[project]/auth/authentikOAuth.svelte +++ b/src/routes/console/project-[project]/auth/authentikOAuth.svelte @@ -72,9 +72,7 @@

URI

+ value={`${sdk.forConsole.client.config.endpoint}/account/sessions/oauth2/callback/${provider.key}/${projectId}`} />
diff --git a/src/routes/console/project-[project]/auth/gitlabOAuth.svelte b/src/routes/console/project-[project]/auth/gitlabOAuth.svelte index 934d73801..510e4a5c6 100644 --- a/src/routes/console/project-[project]/auth/gitlabOAuth.svelte +++ b/src/routes/console/project-[project]/auth/gitlabOAuth.svelte @@ -70,9 +70,7 @@

URI

+ value={`${sdk.forConsole.client.config.endpoint}/account/sessions/oauth2/callback/${provider.key}/${projectId}`} />
diff --git a/src/routes/console/project-[project]/auth/mainOAuth.svelte b/src/routes/console/project-[project]/auth/mainOAuth.svelte index 684e8ff81..36d0aa89f 100644 --- a/src/routes/console/project-[project]/auth/mainOAuth.svelte +++ b/src/routes/console/project-[project]/auth/mainOAuth.svelte @@ -63,9 +63,7 @@

URI

+ value={`${sdk.forConsole.client.config.endpoint}/account/sessions/oauth2/callback/${provider.key}/${projectId}`} />
diff --git a/src/routes/console/project-[project]/auth/microsoftOAuth.svelte b/src/routes/console/project-[project]/auth/microsoftOAuth.svelte index e404fec84..10925962a 100644 --- a/src/routes/console/project-[project]/auth/microsoftOAuth.svelte +++ b/src/routes/console/project-[project]/auth/microsoftOAuth.svelte @@ -72,9 +72,7 @@

URI

+ value={`${sdk.forConsole.client.config.endpoint}/account/sessions/oauth2/callback/${provider.key}/${projectId}`} />
diff --git a/src/routes/console/project-[project]/auth/oidcOAuth.svelte b/src/routes/console/project-[project]/auth/oidcOAuth.svelte index 8c3db7df6..6fade4f7f 100644 --- a/src/routes/console/project-[project]/auth/oidcOAuth.svelte +++ b/src/routes/console/project-[project]/auth/oidcOAuth.svelte @@ -61,11 +61,11 @@ - {provider.name.toUpperCase()} OAuth2 Settings + {provider.name} OAuth2 Settings

- To use {provider.name.toUpperCase()} authentication in your application, first fill in this - form. For more info you can + To use {provider.name} authentication in your application, first fill in this form. For more + info you can visit the docs.

@@ -110,9 +110,7 @@

URI

+ value={`${sdk.forConsole.client.config.endpoint}/account/sessions/oauth2/callback/${provider.key}/${projectId}`} />
diff --git a/src/routes/console/project-[project]/auth/oktaOAuth.svelte b/src/routes/console/project-[project]/auth/oktaOAuth.svelte index 98f607df1..548a99576 100644 --- a/src/routes/console/project-[project]/auth/oktaOAuth.svelte +++ b/src/routes/console/project-[project]/auth/oktaOAuth.svelte @@ -82,9 +82,7 @@

URI

+ value={`${sdk.forConsole.client.config.endpoint}/account/sessions/oauth2/callback/${provider.key}/${projectId}`} />
diff --git a/src/routes/console/project-[project]/auth/settings/+page.svelte b/src/routes/console/project-[project]/auth/settings/+page.svelte index 42f640d07..afacc54eb 100644 --- a/src/routes/console/project-[project]/auth/settings/+page.svelte +++ b/src/routes/console/project-[project]/auth/settings/+page.svelte @@ -75,7 +75,7 @@ on:click={() => { selectedProvider = provider; trackEvent(`click_select_provider`, { - provider: provider.name.toLowerCase() + provider: provider.key.toLowerCase() }); }}>
diff --git a/src/routes/console/project-[project]/auth/updateOAuth.ts b/src/routes/console/project-[project]/auth/updateOAuth.ts index 8e7f3272e..f148c41a3 100644 --- a/src/routes/console/project-[project]/auth/updateOAuth.ts +++ b/src/routes/console/project-[project]/auth/updateOAuth.ts @@ -28,7 +28,7 @@ export async function updateOAuth({ try { await sdk.forConsole.projects.updateOAuth2( projectId, - provider.name.toLowerCase(), + provider.key, appId || undefined, secret || undefined, enabled From b118147656a7c0ae4d8beaa93048ecda7d180a79 Mon Sep 17 00:00:00 2001 From: Steven Nguyen Date: Wed, 26 Jul 2023 10:27:46 -0700 Subject: [PATCH 4/9] Update user preferences text to match design --- .../project-[project]/auth/user-[user]/updatePrefs.svelte | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/routes/console/project-[project]/auth/user-[user]/updatePrefs.svelte b/src/routes/console/project-[project]/auth/user-[user]/updatePrefs.svelte index 08511efd2..2df1583c4 100644 --- a/src/routes/console/project-[project]/auth/user-[user]/updatePrefs.svelte +++ b/src/routes/console/project-[project]/auth/user-[user]/updatePrefs.svelte @@ -56,11 +56,8 @@
- User Preferences -

- You can update your user preferences by storing information on the user's objects so - they can easily be shared across devices and sessions. -

+ Preferences +

Add custom user preferences to share them across devices and sessions.

    From 69b3d72104d2a31ff742729499152e9d6b6f13c0 Mon Sep 17 00:00:00 2001 From: Steven Nguyen Date: Wed, 26 Jul 2023 10:42:16 -0700 Subject: [PATCH 5/9] Update user email to match design --- .../project-[project]/auth/user-[user]/updateEmail.svelte | 1 + 1 file changed, 1 insertion(+) diff --git a/src/routes/console/project-[project]/auth/user-[user]/updateEmail.svelte b/src/routes/console/project-[project]/auth/user-[user]/updateEmail.svelte index 62ff255f8..5ffa721c0 100644 --- a/src/routes/console/project-[project]/auth/user-[user]/updateEmail.svelte +++ b/src/routes/console/project-[project]/auth/user-[user]/updateEmail.svelte @@ -36,6 +36,7 @@ Email +

    Update user's email. An Email should be formatted as: name@example.com.

      Date: Wed, 26 Jul 2023 10:42:30 -0700 Subject: [PATCH 6/9] Update user phone to match design --- .../project-[project]/auth/user-[user]/updatePhone.svelte | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/routes/console/project-[project]/auth/user-[user]/updatePhone.svelte b/src/routes/console/project-[project]/auth/user-[user]/updatePhone.svelte index baeeaea18..83500077b 100644 --- a/src/routes/console/project-[project]/auth/user-[user]/updatePhone.svelte +++ b/src/routes/console/project-[project]/auth/user-[user]/updatePhone.svelte @@ -36,6 +36,11 @@ Phone +

      + Update user's phone. A phone number must contain leading '+' and maximum of 15 digits. +

        Date: Thu, 27 Jul 2023 11:05:42 -0700 Subject: [PATCH 7/9] Fix bolding for update password --- .../project-[project]/auth/user-[user]/updatePassword.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/console/project-[project]/auth/user-[user]/updatePassword.svelte b/src/routes/console/project-[project]/auth/user-[user]/updatePassword.svelte index 044408912..1aeeb199e 100644 --- a/src/routes/console/project-[project]/auth/user-[user]/updatePassword.svelte +++ b/src/routes/console/project-[project]/auth/user-[user]/updatePassword.svelte @@ -34,7 +34,7 @@

- Enter a new password. A password must contain at least 8 characters. + Enter a new password. A password must contain at least 8 characters.

    From a8ad70f66047a6460ad7810d5a63854a4dbef37a Mon Sep 17 00:00:00 2001 From: Steven Nguyen Date: Fri, 28 Jul 2023 11:34:57 -0700 Subject: [PATCH 8/9] Update update email, password, and phone description per Eldad's request Use inline code for email to indicate it's a value. Remove bolding to simplify things. --- .../project-[project]/auth/user-[user]/updateEmail.svelte | 6 +++++- .../auth/user-[user]/updatePassword.svelte | 4 +--- .../project-[project]/auth/user-[user]/updatePhone.svelte | 4 +--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/routes/console/project-[project]/auth/user-[user]/updateEmail.svelte b/src/routes/console/project-[project]/auth/user-[user]/updateEmail.svelte index 5ffa721c0..8a18491e3 100644 --- a/src/routes/console/project-[project]/auth/user-[user]/updateEmail.svelte +++ b/src/routes/console/project-[project]/auth/user-[user]/updateEmail.svelte @@ -36,7 +36,11 @@ Email -

    Update user's email. An Email should be formatted as: name@example.com.

    +

    + Update user's email. An Email should be formatted as: name@example.com. +

      Password -

      - Enter a new password. A password must contain at least 8 characters. -

      +

      Enter a new password. A password must contain at least 8 characters.

        Phone

        - Update user's phone. A phone number must contain leading '+' and maximum of 15 digits. + Update user's phone. A phone number must contain leading '+' and maximum of 15 digits.

          From 20f541a59452ca6e7349aadba0d4e41e6d3ec548 Mon Sep 17 00:00:00 2001 From: Steven Nguyen Date: Mon, 31 Jul 2023 10:05:06 -0700 Subject: [PATCH 9/9] Update OIDC icons per design's request --- static/icons/dark/color/oidc.svg | 3 +-- static/icons/dark/grayscale/oidc.svg | 3 +-- static/icons/light/color/oidc.svg | 3 +-- static/icons/light/grayscale/oidc.svg | 3 +-- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/static/icons/dark/color/oidc.svg b/static/icons/dark/color/oidc.svg index 0eb22aad2..3e45a505d 100644 --- a/static/icons/dark/color/oidc.svg +++ b/static/icons/dark/color/oidc.svg @@ -1,4 +1,3 @@ - - + diff --git a/static/icons/dark/grayscale/oidc.svg b/static/icons/dark/grayscale/oidc.svg index f3a6a0937..d4720bbca 100644 --- a/static/icons/dark/grayscale/oidc.svg +++ b/static/icons/dark/grayscale/oidc.svg @@ -1,4 +1,3 @@ - - + diff --git a/static/icons/light/color/oidc.svg b/static/icons/light/color/oidc.svg index 0eb22aad2..3e45a505d 100644 --- a/static/icons/light/color/oidc.svg +++ b/static/icons/light/color/oidc.svg @@ -1,4 +1,3 @@ - - + diff --git a/static/icons/light/grayscale/oidc.svg b/static/icons/light/grayscale/oidc.svg index 84da2cb78..ec5d3f9dd 100644 --- a/static/icons/light/grayscale/oidc.svg +++ b/static/icons/light/grayscale/oidc.svg @@ -1,4 +1,3 @@ - - +