passport icon indicating copy to clipboard operation
passport copied to clipboard

[13.x] Deprecate JSON API

Open hafezdivandari opened this issue 1 year ago • 5 comments
trafficstars

This PR deprecates JSON API because:

  • Not needed anymore as we now have better option: Jetstream OAuth feature, UI included and fully customizable #1771
  • It adds 10 web routes, 4 controllers, mostly not reusable, not customizable, and without frontend; Makes Passport feature bloated without adding much value.
  • The are a few bugs in the current implementation (I can list them all if you want!), didn't get that much update during years (shows the fact that most people don't use it?), too opinionated and just makes Passport hard to maintain.

Deprecations

  • \Laravel\Passport\Http\Controllers\AuthorizedAccessTokenController controller class.
  • \Laravel\Passport\Http\Controllers\ClientController controller class.
  • \Laravel\Passport\Http\Controllers\PersonalAccessTokenController controller class.
  • \Laravel\Passport\Http\Controllers\ScopeController controller class
  • \Laravel\Passport\RefreshTokenRepository repository class.
  • \Laravel\Passport\TokenRepository repository class.
  • \Laravel\Passport\Http\Rules\RedirectRule rule class.
  • \Laravel\Passport\Http\Rules\UriRule rule class.
  • \Laravel\Passport\ClientRepository::findForUser, forUser, activeForUser, revoked, update, and delete repository methods.

Changes

  • Adds Passport::$registersJsonApiRoutes = false.
  • Doesn't register JSON API routes by default anymore.
  • Makes 2 unit test classes feature tests.

Upgrade Guide

You may call Passport::$registersJsonApiRoutes = true if you want to continue using deprecated JSON API.

hafezdivandari avatar Aug 08 '24 17:08 hafezdivandari