Skip to content

πŸͺΈ v2.0.0 - Same lagoon, new reef

Latest

Choose a tag to compare

@loxK loxK released this 26 Feb 23:33

What's new

NC Connect V3 migration β€” the authentication platform moves from a custom OAuth2 server to Keycloak (OpenID Connect).

Features

  • Keycloak endpoints β€” all OAuth2 URLs updated to /v3/realms/nc-connect/protocol/openid-connect/...
  • Nonce validation β€” OIDC nonce generated and validated on id_token to prevent replay attacks
  • Token refresh β€” V3 access tokens expire after 30 minutes; refreshToken() support built-in
  • Configurable auth method β€” client_secret_basic (default) or client_secret_post
  • Typed User accessors β€” getVerifiedLevel(), isEmailVerified(), getFirstName(), getFamilyName(), getBirthdate(), etc.
  • Flexible logout β€” generateLogoutURL() accepts optional $idTokenHint and $postLogoutRedirectUri parameters (RP-Initiated Logout)
  • New claim β€” first_name (first given name only, vs given_name which returns all given names)

Breaking changes

  • Package renamed to gecka/socialite-ncconnect
  • Requires PHP 8.2+
  • birthcountry claim removed β€” use birthplace instead
  • generateLogoutURL() no longer manages session state β€” store $user->tokenId and pass it as parameter

See UPGRADE.md for the full migration guide.

Other

  • Added MIT license
  • Added CI workflow (Pint lint + PHP 8.2–8.5 syntax check)
  • Rewritten README with full documentation