/** * Configure the valdiator to validate the token abilities. * * @param \Illuminate\Validation\Validator $validator * @return \Illuminate\Validation\Validator */ protected function validateAbilities($validator) { $abilities = implode(',', array_keys(Spark::tokensCan())); $validator->sometimes('abilities', 'required|array|in:' . $abilities, function () { return count(Spark::tokensCan()) > 0; }); return $validator; }
/** * Bootstrap any application services. * * @return void */ public function boot() { Spark::details($this->details); Spark::sendSupportEmailsTo($this->sendSupportEmailsTo); if (count($this->developers) > 0) { Spark::developers($this->developers); } if (count($this->roles) > 0) { Spark::useRoles($this->roles); } if ($this->usesTwoFactorAuth) { Spark::useTwoFactorAuth(); } if ($this->usesApi) { Spark::useApi(); } Spark::tokensCan($this->tokensCan); Spark::byDefaultTokensCan($this->byDefaultTokensCan); $this->booted(); if (Spark::billsUsingBraintree()) { $this->configureBraintree(); } }
/** * Get all of the available token abilities. * * @return Response */ public function all() { return response()->json(collect(Spark::tokensCan())->map(function ($value, $key) { return ['name' => $value, 'value' => $key, 'default' => in_array($key, Spark::tokenDefaults())]; })->values()); }
/** * Create a new API token for the user. * * @param CreateTokenRequest $request * @return Response */ public function store(CreateTokenRequest $request) { $data = count(Spark::tokensCan()) > 0 ? ['abilities' => $request->abilities] : []; return response()->json(['token' => $this->tokens->createToken($request->user(), $request->name, $data)->token]); }