yavsc/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Paul Schneider 3744017127 Seed ApiScopes for ApiResourcesScopes, align PostIt client
EnsureDefaultApplicationScopes was inserting every entry of
Constants.ApiResourcesScopes (admin, moderation, performer, client,
blogs) into the IdentityResources table, as Profile-derived rows.
That made them visible to /connect/discovery's scopes_supported
under the identity section, but no API resource would ever issue a
token bearing them — IdentityServer then rejected clients that
requested any of these scopes with 'invalid_scope' at the token
endpoint.

The most visible casualty was PostIt, a public PKCE client whose
postit-settings.json asks for scope=openid profile offline_access
blogs. 'blogs' is the scope that gates the Yavsc.Blogs deployment
(blogs.pschneider.fr), so the login flow died at the token step.

Fix:

- Constants.ApiResourcesScopes entries are now seeded as ApiScope
  rows (with Name + DisplayName). IdentityResources stays limited
  to the actual OpenID Connect profile (openid, profile).
- EnsureDefaultConfiguration gains an idempotent
  AlignPostItClientScopes pass that adds any missing scope from
  PostItScopes to the existing 'postit' client's AllowedScopes.
  Nothing is removed — manual revocation stays manual.

Existing live databases pick up both changes on next startup:
missing ApiScope rows are inserted, and the postit client's
ClientScope rows catch up.
2026-06-25 20:46:58 +01:00
..
cli Split Directory.Packages.props: shared versions in root, per-product in src/ 2026-06-19 18:51:18 +01:00
PostIt Api Resources seed 2026-06-25 20:22:41 +01:00
PostIt.Tests WIP PostIt login 2026-06-25 00:08:25 +01:00
templateWeb fices the UI 2026-06-15 02:55:22 +01:00
Yavsc.Abstract fices the UI 2026-06-15 02:55:22 +01:00
Yavsc.Api Introduce Yavsc.Interfaces.ISmtpClient and a recording test fake 2026-06-22 02:09:02 +01:00
Yavsc.Blogs WIP PostIt login 2026-06-25 00:08:25 +01:00
Yavsc.Org Seed ApiScopes for ApiResourcesScopes, align PostIt client 2026-06-25 20:46:58 +01:00
Yavsc.Org.Tests Introduce Yavsc.Interfaces.ISmtpClient and a recording test fake 2026-06-22 02:09:02 +01:00
Yavsc.Server Introduce Yavsc.Interfaces.ISmtpClient and a recording test fake 2026-06-22 02:09:02 +01:00
Yavsc.Web Split Directory.Packages.props: shared versions in root, per-product in src/ 2026-06-19 18:51:18 +01:00