Sign people in to your app (authorization code + PKCE)
- Register a redirect URI on your app (project → app → redirect URIs). It must match exactly. https is required;
http://localhost,127.0.0.1and[::1]are allowed for sandbox apps only. To try the flow before your own callback exists, registerhttps://openvibe.codes/oauth/test-callback: it shows what Network sent and never uses it. - Make a PKCE pair. A random
code_verifier(43–128 characters) andcode_challenge = BASE64URL(SHA-256(code_verifier)). Network requirescode_challenge_method=S256for every app, public or confidential. The SDK does it:createPkcePair(),startAuthorization()inopenvibe-sdk/auth. - Send the browser to
https://openvibe.network/oauth/authorizewithresponse_type=code,client_id(your app id),redirect_uri,state, the challenge, and optionallyscope(capability ids, which limit what the code can yield).prompt=noneis refused for apps: a person always chooses to continue. A sandbox app can be authorized only by members of its project. - Network redirects back with
codeand yourstate(orerror). Check the state. Codes are single use and expire after 5 minutes; a failed PKCE check burns the code. - Exchange on your server:
POST https://openvibe.network/oauth/tokenwithgrant_type=authorization_code,client_id,code,redirect_uri,code_verifier,audience(the service you will call, e.g.openvibe.media) and, for a confidential app,client_secret. The token lasts 5 minutes and carrieson_behalf_of(the person) andcap(your approved grants for that audience). Apps get no refresh token.