@@ -66,10 +66,15 @@ class ModuleConfig
6666 final public const OPTION_FEDERATION_ENTITY_STATEMENT_DURATION = 'federation_entity_statement_duration ' ;
6767 final public const OPTION_FEDERATION_AUTHORITY_HINTS = 'federation_authority_hints ' ;
6868 final public const OPTION_ORGANIZATION_NAME = 'organization_name ' ;
69+ final public const OPTION_DISPLAY_NAME = 'display_name ' ;
70+ final public const OPTION_DESCRIPTION = 'description ' ;
71+ final public const OPTION_KEYWORDS = 'keywords ' ;
6972 final public const OPTION_CONTACTS = 'contacts ' ;
7073 final public const OPTION_LOGO_URI = 'logo_uri ' ;
7174 final public const OPTION_POLICY_URI = 'policy_uri ' ;
75+ final public const OPTION_INFORMATION_URI = 'information_uri ' ;
7276 final public const OPTION_HOMEPAGE_URI = 'homepage_uri ' ;
77+ final public const OPTION_ORGANIZATION_URI = 'organization_uri ' ;
7378 final public const OPTION_FEDERATION_ENABLED = 'federation_enabled ' ;
7479 final public const OPTION_FEDERATION_CACHE_ADAPTER = 'federation_cache_adapter ' ;
7580 final public const OPTION_FEDERATION_CACHE_ADAPTER_ARGUMENTS = 'federation_cache_adapter_arguments ' ;
@@ -651,6 +656,42 @@ public function getOrganizationName(): ?string
651656 );
652657 }
653658
659+ public function getDisplayName (): ?string
660+ {
661+ return $ this ->config ()->getOptionalString (
662+ self ::OPTION_DISPLAY_NAME ,
663+ null ,
664+ );
665+ }
666+
667+ public function getDescription (): ?string
668+ {
669+ return $ this ->config ()->getOptionalString (
670+ self ::OPTION_DESCRIPTION ,
671+ null ,
672+ );
673+ }
674+
675+ /**
676+ * JSON array with one or more strings representing search keywords, tags, categories, or labels that
677+ * apply to this Entity.
678+ *
679+ * @return ?string[]
680+ */
681+ public function getKeywords (): ?array
682+ {
683+ $ keywords = $ this ->config ()->getOptionalArray (
684+ self ::OPTION_KEYWORDS ,
685+ null ,
686+ );
687+
688+ if (is_null ($ keywords )) {
689+ return null ;
690+ }
691+
692+ return array_filter ($ keywords , fn ($ keyword ) => is_string ($ keyword ));
693+ }
694+
654695 public function getContacts (): ?array
655696 {
656697 return $ this ->config ()->getOptionalArray (
@@ -675,6 +716,21 @@ public function getPolicyUri(): ?string
675716 );
676717 }
677718
719+ public function getInformationUri (): ?string
720+ {
721+ return $ this ->config ()->getOptionalString (
722+ self ::OPTION_INFORMATION_URI ,
723+ null ,
724+ );
725+ }
726+
727+ /**
728+ * @return string|null
729+ * TODO mivanci v7 Remove in next major release, as well as config constant.
730+ * In Draft-43 of OIDFed specification, metadata claim 'homepage_uri' has been renamed to
731+ * 'organization_uri'. Use 'organization_uri' instead.
732+ * @see self::getOrganizationUri()
733+ */
678734 public function getHomepageUri (): ?string
679735 {
680736 return $ this ->config ()->getOptionalString (
@@ -683,6 +739,14 @@ public function getHomepageUri(): ?string
683739 );
684740 }
685741
742+ public function getOrganizationUri (): ?string
743+ {
744+ return $ this ->config ()->getOptionalString (
745+ self ::OPTION_ORGANIZATION_URI ,
746+ null ,
747+ );
748+ }
749+
686750 public function getFederationCacheAdapterClass (): ?string
687751 {
688752 return $ this ->config ()->getOptionalString (self ::OPTION_FEDERATION_CACHE_ADAPTER , null );
0 commit comments