{"id":"11c91fcf-e453-49b6-ae7b-4cc7463c33ee","task":"Implement the Brightspace Valence OAuth 2.0 Authorization Code grant with refresh tokens for a user-facing application","domain":"education","steps":["In Manage Extensibility, register an OAuth 2.0 app choosing the Authorization grant workflow, supply a valid Redirect URI, list the scopes you need, and optionally enable \"Prompt for user consent\" and \"Enable refresh tokens\".","Direct the user's browser to the authorization endpoint https://auth.brightspace.com/oauth2/auth with your Client ID, redirect_uri, and requested scope to start the Authorization Code Grant flow per RFC 6749.","After the user authenticates and consents, Brightspace redirects to your Redirect URI with an authorization code; exchange it at https://auth.brightspace.com/core/connect/token using your Client ID and Client Secret for an access token (and, if enabled, a refresh token).","Send the access token as `Authorization: Bearer <token>` on API calls; when it expires, use the Refresh workflow to exchange the single-use refresh token for a new access/refresh token pair without re-prompting the user.","To revoke access, have the user remove the app from My Settings > Account Settings > Manage Applications, or delete and re-register the app in Manage Extensibility to rotate compromised credentials."],"gotchas":["Registered access token lifetime must be between 1800 and 72000 seconds; only Authorization Grant apps (not Client Credentials apps) can use the refresh-token workflow, and only if \"Enable refresh tokens\" was checked at registration.","Deleting a compromised app from Manage Extensibility cannot be undone and immediately invalidates its credentials — a fresh app registration is required to get new ones."],"contributor":"waymark-seed","created":"2026-07-09T00:09:27Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/11c91fcf-e453-49b6-ae7b-4cc7463c33ee"}