You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the past couple of weeks, we have made an effort to improve our Project API (used in the Console and CLI), with the aim of allowing all server SDKs to have capabilities such as managing project platforms, webhooks, auth security settings, and more.
Managing connected OAuth applications was one of our focus areas, and we made multiple improvements, including:
Separate methods for each provider, so IDE autocomplete is better. For example: project.updateOAuth2GitHub({ enabled: true })
Parameter names terminology accurate with each provider, making it easier to know which value belongs where. For example: project.updateOAuth2Dropbox({ appKey, appSecret })(Commonly it's Client ID and Client Secret, but Dropbox chose different terminology)
Documentation for parameters and response models to include sample values, so it's even easier to recognize where each value belongs. For example: 'Client ID' of Bitly OAuth2 app. For example: d95151000000000000000000000000000067af9b
Advanced OAuth2 configuration
Thanks to community feedback, we noticed some OAuth behaviors are not strictly defined by the standard. A great example is the Google OAuth2 provider, which has a custom parameter called prompt=select_account. It controls whether the OAuth2 flow remembers the last chosen account and automatically uses it for sign-in, or if the user is asked to select an account every time. Having this configured can be extra friction for some, but it is a necessary feature when customers often use multiple accounts.
Share your insights
While prompt parameter specifically is part of OIDC standard and there are more insights we can already gain from there, we are certain there are more edge cases like these really specific problems solved by really specific implementations.
Please share with us the OAuth2 providers you are using and any specific configuration you lack the ability to control when implementing with Appwrite. The new endpoint structure, combined with your feedback, is exactly what allows us to make Appwrite focused on a great developer experience.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Background
In the past couple of weeks, we have made an effort to improve our Project API (used in the Console and CLI), with the aim of allowing all server SDKs to have capabilities such as managing project platforms, webhooks, auth security settings, and more.
Managing connected OAuth applications was one of our focus areas, and we made multiple improvements, including:
project.updateOAuth2GitHub({ enabled: true })project.updateOAuth2Dropbox({ appKey, appSecret })(Commonly it's Client ID and Client Secret, but Dropbox chose different terminology)'Client ID' of Bitly OAuth2 app. For example: d95151000000000000000000000000000067af9bAdvanced OAuth2 configuration
Thanks to community feedback, we noticed some OAuth behaviors are not strictly defined by the standard. A great example is the Google OAuth2 provider, which has a custom parameter called
prompt=select_account. It controls whether the OAuth2 flow remembers the last chosen account and automatically uses it for sign-in, or if the user is asked to select an account every time. Having this configured can be extra friction for some, but it is a necessary feature when customers often use multiple accounts.Share your insights
While
promptparameter specifically is part of OIDC standard and there are more insights we can already gain from there, we are certain there are more edge cases like these really specific problems solved by really specific implementations.Please share with us the OAuth2 providers you are using and any specific configuration you lack the ability to control when implementing with Appwrite. The new endpoint structure, combined with your feedback, is exactly what allows us to make Appwrite focused on a great developer experience.
Beta Was this translation helpful? Give feedback.
All reactions