... | ... | @@ -115,15 +115,15 @@ Read them to get some good ideas! |
|
|
> Merci pour votre réponse rapide.
|
|
|
> J'ai bien lu la doc Zapier sur oauth2, ce n'est pas vraiment là dessus que je bloque. ;)
|
|
|
>
|
|
|
> Je bloque sur la génération des client_id et client_secret.
|
|
|
> Je bloque sur la génération des `client_id` et `client_secret`.
|
|
|
> La plupart des apps Zapier concernent des services centralisés, donc ce n'est pas vraiment un problème, puisque qu'il suffit au développeur de les générer une seule fois et de les stocker dans les variables d'environnement Zapier spécifiques à chaque utilisateur.
|
|
|
>
|
|
|
> Ce n'est pas le cas de Mastodon : étant donné que c'est une plateforme décentralisée, il y existe des milliers de serveurs et je ne sais pas comment procéder pour générer et stocker les client_id et client_secret.
|
|
|
> Ce n'est pas le cas de Mastodon : étant donné que c'est une plateforme décentralisée, il y existe des milliers de serveurs et je ne sais pas comment procéder pour générer et stocker les `client_id` et `client_secret`.
|
|
|
>
|
|
|
> En gros il faudrait que :
|
|
|
> 1. l'utilisateur renseigne l'url de son serveur;
|
|
|
> 2. que mon app enregistre l'application Zapier au serveur à ce moment (génération des client_id et client_secret) ; idéalement, elle ne devrait le faire uniquement si cela n'a pas été fait par un autre utilisateur auparavant qui utiliserait le même serveur Mastodon ;
|
|
|
> 3. qu'elle stocke client_id et client_secret dans les variables d'environnement spécifiques à l'utilisateur.
|
|
|
> 2. que mon app enregistre l'application Zapier au serveur à ce moment (génération des `client_id` et `client_secret`) ; idéalement, elle ne devrait le faire uniquement si cela n'a pas été fait par un autre utilisateur auparavant qui utiliserait le même serveur Mastodon ;
|
|
|
> 3. qu'elle stocke `client_id` et `client_secret` dans les variables d'environnement spécifiques à l'utilisateur.
|
|
|
>
|
|
|
> J'ai regardé comment fonctionne l'app de Gitlab au début elle demande directement les client_id et client_secret. Du coup coup c'est l'utilisateur lui-même qui enregistre à la main l'application Zapier depuis l'interface de GitLab. Mastodon ne permet pas de faire ça. Donc cette opération doit se faire coté Zapier. Je ne sais pas comment procéder.
|
|
|
|
... | ... | @@ -154,14 +154,14 @@ Read them to get some good ideas! |
|
|
>
|
|
|
> Si je comprends bien tu veux que l'app récupère dynamiquement le client_id et client_secret une seule fois par serveur Mastodon ?
|
|
|
> La seule manière que je verrai serait de faire ça juste avant d'authentifier l'utilisateur.
|
|
|
> Tu peux spécifier une fonction au lieu d'un objet à la propriété authentication.oauth2Config.authorizeUrl.
|
|
|
> Tu peux spécifier une fonction au lieu d'un objet à la propriété `authentication.oauth2Config.authorizeUrl`.
|
|
|
> Tu pourrais faire une première requête pour récupérer le client_id et client_secret, puis retourner ton URL d'authentification.
|
|
|
>
|
|
|
> Quelque chose comme :
|
|
|
>
|
|
|
> ```js
|
|
|
> const authentication = {
|
|
|
>
|
|
|
> ```js
|
|
|
> type: 'oauth2',
|
|
|
> // ...
|
|
|
> oauth2Config: {
|
... | ... | @@ -174,7 +174,7 @@ Read them to get some good ideas! |
|
|
> }
|
|
|
> ```
|
|
|
>
|
|
|
> **3. qu'elle stocke client_id et client_secret dans les variables d'environnement spécifiques à l'utilisateur**
|
|
|
> **3. qu'elle stocke `client_id` et `client_secret` dans les variables d'environnement spécifiques à l'utilisateur**
|
|
|
>
|
|
|
> Malheureusement nous n'offrons pas une manière de faire persister de la donnée comme ceci...
|
|
|
> Une idée pourrait être d'effectuer la requête pour avoir le client_id and le client_secret vers un proxy que tu héberges qui stockerait les triplet url,client_id,client_secret.
|
... | ... | |