load(\Yii::$app->request->post(), ''); if (!$form->validate()) { throw new BadRequestHttpException("Hibás e-mail cím vagy jelszó!"); } /** @var Jwt $jwt */ $jwt = Yii::$app->jwt; $signer = $jwt->getSigner('HS256'); $key = $jwt->getKey(); $time = time(); $validFor = 60 * 60 * 24 * 7 * 4; // 4 weeks // Adoption for lcobucci/jwt ^4.0 version $token = $jwt->getBuilder() ->issuedBy('mobileapi')// Configures the issuer (iss claim) ->permittedFor('customer')// Configures the audience (aud claim) ->identifiedBy('A989C57D19E2AF756BA9585AC4CFAF7974AE3D2BCA7CCA7307B39AB28CC7C2C8', true)// Configures the id (jti claim), replicating as a header item ->issuedAt($time)// Configures the time that the token was issue (iat claim) ->expiresAt($time + $validFor)// Configures the expiration time of the token (exp claim) ->withClaim('uid', $form->getCustomer()->getId())// Configures a new claim, called "uid" ->getToken($signer, $key); // Retrieves the generated token return $this->asJson([ 'token' => (string)$token, ]); } protected function getOptionalActions() { return ['login']; } }