Exemplo n.º 1
0
 public function handle(ProviderProvider $providerProvider, AclContract $acl)
 {
     $selfClient = Client::where(['name' => 'Provider Hub'])->first();
     if (empty($selfClient)) {
         $selfClient = new Client();
         $selfClient->name = 'Provider Hub';
         $selfClient->secret = 'foobar';
         $selfClient->type = 'provider_hub';
         $selfClient->save();
     }
     \dump(['provider hub', 'client_id' => $selfClient->id, 'client_secret' => 'foobar']);
     \dump(['role setup', $acl->setupRoles()]);
     $provider = $providerProvider->find(['name' => 'Test Provider', 'slug' => 'test']);
     if (empty($provider)) {
         $provider = $providerProvider->create(['name' => 'Test Provider', 'slug' => 'test']);
     }
     \dump(['provider', 'id' => $provider->id, 'slug' => $provider->slug]);
 }
 public function post(Request $request)
 {
     $providerHub = Client::where(['type' => 'provider_hub'])->first();
     if (empty($providerHub)) {
         return $this->respond(['error' => 'not_set_up'], 400);
     }
     $registerRequest = $request->json()->all();
     if (empty($registerRequest['token']) || !$this->validateToken($registerRequest['token']) || empty($registerRequest['base_url']) || empty($registerRequest['secret']) || empty($registerRequest['id'])) {
         return $this->respond(['error' => 'Bad Request'], 400);
     }
     $client = new Client();
     $client->id = $registerRequest['id'];
     $client->name = 'Central Hub';
     $client->type = 'central_hub';
     $client->base_url = $registerRequest['base_url'];
     $client->secret = $registerRequest['secret'];
     if ($client->save()) {
         return $this->respond(['message' => 'Handshake Complete!', 'provider_hub_id' => $providerHub->id], 200);
     }
     return $this->respond(['error' => 'Error Saving Client'], 500);
 }
Exemplo n.º 3
0
 /**
  * Ensures the client or user is in the system
  *
  * @return boolean
  */
 public function ensureObject()
 {
     if ($this->type === 'user') {
         $result = User::ensure($this->id);
         if ($result) {
             $context = app('context');
             if ($context->getProviderId()) {
                 $result = User::ensureRole($this->id, ['student'], $context->getProviderId());
             }
             if ($this->isSuperAdmin) {
                 $result = $result && User::ensureRole($this->id, ['super_administrator']);
             }
         }
         return $result;
     } elseif ($this->type === 'client') {
         return Client::ensure($this->id);
     }
     return false;
 }