@josh18 That seems fine to me if you want to provide additional static access to it. Like all bindings you could alway use it directly if needed.
app('auth.password.tokens')->create($user);
If you're intrigued as to where the binding and setup of the DatabaseTokenRepository takes place. Illuminate\Auth\Passwords\PasswordResetServiceProvider
If you use the out the box PasswordController with ResetsPasswords trait, what the PasswordBroker does is actually type hint the interface TokenRepositoryInterface to new this up. As you can see in Illuminate\Foundation\Application it's an alias for the same binding.
public function registerCoreContainerAliases()
{
...
'auth.password.tokens' => 'Illuminate\Auth\Passwords\TokenRepositoryInterface',
I'm not anti Facade but I would use the alias personally.
use Illuminate\Auth\Passwords\TokenRepositoryInterface;
Route::get('/reset', function (TokenRepositoryInterface $tokens) {
$user = ...
$tokens->create($user);
});