diff --git a/src/lib/stores/oauth-providers.ts b/src/lib/stores/oauth-providers.ts
index 40bcff26a..c43a597df 100644
--- a/src/lib/stores/oauth-providers.ts
+++ b/src/lib/stores/oauth-providers.ts
@@ -1,16 +1,18 @@
-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 & {
+ key: string;
icon: string;
docs?: string;
component?: typeof SvelteComponent;
@@ -23,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;
@@ -94,6 +97,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;
@@ -151,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
new file mode 100644
index 000000000..6fade4f7f
--- /dev/null
+++ b/src/routes/console/project-[project]/auth/oidcOAuth.svelte
@@ -0,0 +1,125 @@
+
+
+
+ {provider.name} OAuth2 Settings
+
+
+ To use {provider.name} 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.
+
+
+
+
+
+
+
+
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
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..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,6 +36,11 @@
-
- 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.
+
- 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.