informatique:oauth
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| informatique:oauth [01/09/2025 18:27] – [PHP] cyrille | informatique:oauth [09/09/2025 11:30] (Version actuelle) – [Recherche d'une "bonne" méthode] cyrille | ||
|---|---|---|---|
| Ligne 97: | Ligne 97: | ||
| * https:// | * https:// | ||
| * [[https:// | * [[https:// | ||
| - | + | | |
| - | | + | |
| - | * | + | |
| =====API===== | =====API===== | ||
| Ligne 112: | Ligne 109: | ||
| * https:// | * https:// | ||
| - | * Laravel : [[https:// | + | * [[https:// |
| + | * [[https:// | ||
| + | * [[https:// | ||
| * PHP OAuth API on phpclasses.org: | * PHP OAuth API on phpclasses.org: | ||
| Ligne 120: | Ligne 119: | ||
| On trouve des exemples avec Laravel Socialite pour le site et un package OAuth dans l'App mobile. Mais le site ne vérifie pas la validité du token fourni par l'App Mobile, qui l'a obtenue depuis le fournisseur tiers ... | On trouve des exemples avec Laravel Socialite pour le site et un package OAuth dans l'App mobile. Mais le site ne vérifie pas la validité du token fourni par l'App Mobile, qui l'a obtenue depuis le fournisseur tiers ... | ||
| + | |||
| + | Aussi il n'est pas sécurisé de stocker le '' | ||
| * [[https:// | * [[https:// | ||
| * https:// | * https:// | ||
| + | |||
| + | ==== Recherche d'une " | ||
| + | |||
| + | Exigences: | ||
| + | * Ne pas avoir le '' | ||
| + | * S' | ||
| + | |||
| + | <mermaid 80%> | ||
| + | sequenceDiagram | ||
| + | |||
| + | participant User | ||
| + | participant Mobile | ||
| + | participant Browser | ||
| + | participant Api | ||
| + | participant Auth | ||
| + | autonumber | ||
| + | |||
| + | activate User | ||
| + | User ->> Mobile: Click one provider button | ||
| + | activate Mobile | ||
| + | deactivate User | ||
| + | Mobile ->> Api: request auth provider url< | ||
| + | activate Api | ||
| + | Api ->> Api: create STATE + SESSION COOKIE | ||
| + | Api -->> Mobile: return AUTH_PROVIDER_URL< | ||
| + | deactivate Api | ||
| + | |||
| + | Note over Mobile, | ||
| + | |||
| + | Mobile ->> Browser: open AUTH_PROVIDER_URL | ||
| + | activate Browser | ||
| + | activate Auth | ||
| + | Browser ->> Auth: request AUTH_PROVIDER_URL | ||
| + | Auth -->> Browser: return auth ui | ||
| + | deactivate Auth | ||
| + | deactivate Mobile | ||
| + | activate User | ||
| + | Browser -->> User: read access scopes & login ui | ||
| + | User ->> Browser: click Accept or Denied | ||
| + | activate Auth | ||
| + | Browser ->> Auth: post auth form | ||
| + | deactivate User | ||
| + | deactivate Browser | ||
| + | activate Api | ||
| + | |||
| + | critical Auth Protocol | ||
| + | Auth ->> Api: "Auth callback with ' | ||
| + | Api ->> Auth: " | ||
| + | Auth -->> Api: " | ||
| + | end | ||
| + | |||
| + | Note right of Mobile: http(s) deep link is verified with< | ||
| + | |||
| + | deactivate Auth | ||
| + | Api -->> Browser: return redirect DEEP_LINK | ||
| + | deactivate Api | ||
| + | activate Mobile | ||
| + | Browser -->> Mobile: return redirect DEEP_LINK | ||
| + | |||
| + | activate Api | ||
| + | Mobile ->> Api: request Api Token< | ||
| + | Api -->> Mobile: return API_TOKEN | ||
| + | deactivate Api | ||
| + | deactivate Mobile | ||
| + | |||
| + | Note over User,Api: Authentified user can request the Api | ||
| + | |||
| + | activate User | ||
| + | User ->> Mobile: "do something" | ||
| + | activate Mobile | ||
| + | activate Api | ||
| + | Mobile ->> Api: " | ||
| + | Api -->> Mobile: " | ||
| + | Mobile -->> User: display what ever | ||
| + | deactivate Api | ||
| + | deactivate Mobile | ||
| + | deactivate User | ||
| + | |||
| + | </ | ||
| + | |||
informatique/oauth.1756744069.txt.gz · Dernière modification : de cyrille
