. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ /** @noinspection PhpMultipleClassDeclarationsInspection */ namespace Espo\Entities; use Espo\Core\ORM\Entity; use stdClass; use UnexpectedValueException; class OAuthProvider extends Entity { public const string ENTITY_TYPE = 'OAuthProvider'; public function isActive(): bool { return $this->get('isActive'); } public function getClientId(): string { $value = $this->get('clientId'); if (!is_string($value)) { throw new UnexpectedValueException("No client ID."); } return $value; } public function getClientSecret(): string { $value = $this->get('clientSecret'); if (!is_string($value)) { throw new UnexpectedValueException("No client secret."); } return $value; } public function getTokenEndpoint(): string { $value = $this->get('tokenEndpoint'); if (!is_string($value)) { throw new UnexpectedValueException("No token endpoint."); } return $value; } public function getAuthorizationEndpoint(): string { $value = $this->get('authorizationEndpoint'); if (!is_string($value)) { throw new UnexpectedValueException("No authorization endpoint."); } return $value; } /** * @return string[] */ public function getScopes(): array { return $this->get('scopes') ?? []; } public function getScopeSeparator(): ?string { return $this->get('scopeSeparator'); } public function getAuthorizationPrompt(): string { return $this->get('authorizationPrompt'); } public function getAuthorizationParams(): ?stdClass { return $this->get('authorizationParams') ?? null; } }