<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
		<id>https://wiki.niif.hu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dattila%28AT%29niif.hu</id>
		<title>Pro-M - Oktatási Üzletág - Wiki - Szerkesztő közreműködései [hu]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.niif.hu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dattila%28AT%29niif.hu"/>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Speci%C3%A1lis:Szerkeszt%C5%91_k%C3%B6zrem%C5%B1k%C3%B6d%C3%A9sei/Dattila(AT)niif.hu"/>
		<updated>2026-11-07T20:48:08Z</updated>
		<subtitle>Szerkesztő közreműködései</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=AAI/AzureADasAuthsource&amp;diff=5048</id>
		<title>AAI/AzureADasAuthsource</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=AAI/AzureADasAuthsource&amp;diff=5048"/>
				<updated>2024-11-29T20:18:15Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: /* Teendők SimpleSAMLPHP (SSP) oldalon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Amennyiben Azure AD-ban tároljuk a felhasználói adatokat, úgy lehetőség van azt azonosítási forrásként is használni. A [[SimpleSAMLphp]] oldalon leírt telepítés után az alábbiak elvégzésére van szükség:&lt;br /&gt;
(ez csak egy példakonfiguráció, természetesen el lehet ettől térni)&lt;br /&gt;
&lt;br /&gt;
== Teendők SimpleSAMLPHP (SSP) oldalon ==&lt;br /&gt;
&lt;br /&gt;
Keressük ki az Azure AD-ból a Tenant ID-t. A beállítás során erre _TenantID_-val fogunk hivatkozni, oda minden esetben ezt az azonosítót kell behelyettesíteni. Az azonosítót jelenleg a &lt;br /&gt;
https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview oldalon keresztül lehet beszerezni&lt;br /&gt;
(Forrás: https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-how-to-find-tenant)&lt;br /&gt;
&lt;br /&gt;
A _DOMAIN_ helyére a használni kívánt scope-ot szükséges behelyettesíteni (pl intezmeny.hu)&lt;br /&gt;
&lt;br /&gt;
=== config/authsources.php fájlba ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    'default-sp' =&amp;gt; [&lt;br /&gt;
        'saml:SP',&lt;br /&gt;
&lt;br /&gt;
        // The entity ID of this SP.&lt;br /&gt;
        // Can be NULL/unset, in which case an entity ID is generated based on the metadata URL.&lt;br /&gt;
        'entityID' =&amp;gt; null,&lt;br /&gt;
&lt;br /&gt;
        // The entity ID of the IdP this SP should contact.&lt;br /&gt;
        // Can be NULL/unset, in which case the user will be shown a list of available IdPs.&lt;br /&gt;
        'idp' =&amp;gt; 'https://sts.windows.net/_TenantID_/',&lt;br /&gt;
&lt;br /&gt;
        // The URL to the discovery service.&lt;br /&gt;
        // Can be NULL/unset, in which case a builtin discovery service will be used.&lt;br /&gt;
        'discoURL' =&amp;gt; null,&lt;br /&gt;
        'NameIDFormat' =&amp;gt; 'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent',&lt;br /&gt;
        'simplesaml.nameidattribute' =&amp;gt; 'eduPersonTargetedID',&lt;br /&gt;
&lt;br /&gt;
        /*&lt;br /&gt;
         * The attributes parameter must contain an array of desired attributes by the SP.&lt;br /&gt;
         * The attributes can be expressed as an array of names or as an associative array&lt;br /&gt;
         * in the form of 'friendlyName' =&amp;gt; 'name'. This feature requires 'name' to be set.&lt;br /&gt;
         * The metadata will then be created as follows:&lt;br /&gt;
         * &amp;lt;md:RequestedAttribute FriendlyName=&amp;quot;friendlyName&amp;quot; Name=&amp;quot;name&amp;quot; /&amp;gt;&lt;br /&gt;
         */&lt;br /&gt;
        /*&lt;br /&gt;
        'name' =&amp;gt; [&lt;br /&gt;
            'en' =&amp;gt; 'A service',&lt;br /&gt;
            'no' =&amp;gt; 'En tjeneste',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        'attributes' =&amp;gt; [&lt;br /&gt;
            'attrname' =&amp;gt; 'urn:oid:x.x.x.x',&lt;br /&gt;
        ],&lt;br /&gt;
        'attributes.required' =&amp;gt; [&lt;br /&gt;
            'urn:oid:x.x.x.x',&lt;br /&gt;
        ],&lt;br /&gt;
        */&lt;br /&gt;
    ],&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== config/module_metarefresh.php fájlba ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
$config = [&lt;br /&gt;
&lt;br /&gt;
    'sets' =&amp;gt; [&lt;br /&gt;
        'azure' =&amp;gt; [&lt;br /&gt;
            'cron' =&amp;gt; ['hourly'],&lt;br /&gt;
            'sources' =&amp;gt; [&lt;br /&gt;
                [&lt;br /&gt;
                    'src' =&amp;gt; 'https://login.microsoftonline.com/_TenantID_/federationmetadata/2007-06/federationmetadata.xml',&lt;br /&gt;
                ],&lt;br /&gt;
            ],&lt;br /&gt;
            'expireAfter' =&amp;gt; 34560060, // Maximum 4 days cache time (3600*24*4)&lt;br /&gt;
            'outputDir' =&amp;gt; 'metadata',&lt;br /&gt;
            'outputFormat' =&amp;gt; 'flatfile',&lt;br /&gt;
        ],&lt;br /&gt;
    ],&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== metadata/saml20-idp-hosted.php ===&lt;br /&gt;
&lt;br /&gt;
A &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    'authproc' =&amp;gt; [&lt;br /&gt;
&lt;br /&gt;
        10 =&amp;gt; [&lt;br /&gt;
              'class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
              'azure2name'&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        15 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeCopy',&lt;br /&gt;
            'eduPersonPrincipalName' =&amp;gt; 'schacPersonalUniqueCode',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        16 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:PHP',&lt;br /&gt;
            'code' =&amp;gt; '&lt;br /&gt;
                $attributes[&amp;quot;schacPersonalUniqueCode&amp;quot;][0] = &amp;quot;urn:schac:personalUniqueCode:int:esi:_DOMAIN_:&amp;quot; . $attributes[&amp;quot;schacPersonalUniqueCode&amp;quot;][0];&lt;br /&gt;
            ',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        18 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
            'pattern' =&amp;gt; '/^.*$/',&lt;br /&gt;
            'replacement' =&amp;gt; '${0}@_DOMAIN_',&lt;br /&gt;
            'target' =&amp;gt; 'eduPersonPrincipalName'&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        20 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
            'eduPersonEntitlement' =&amp;gt; array('urn:mace:dir:entitlement:common-lib-terms')&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        22 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
            'schacHomeOrganization' =&amp;gt; array('_DOMAIN_')&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        23 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
            'schacHomeOrganizationType' =&amp;gt; array('urn:schac:homeOrganizationType:eu:higherEducationalInstitution')&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
// Azure AD-ban célszerű az affilation-t (intézményhez való viszonyt, pl hallgató, oktató, dolgozó) security group alapján meghatározni. Ezeknek az objektum azonosítóját át fogja adni az Azure AD, amit könnyen kicserélhetünk a kívánt affilation-re:&lt;br /&gt;
&lt;br /&gt;
        31 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
            'pattern' =&amp;gt; '/^_eduID_Dolgozó_GroupID_$/', // _eduID_Dolgozó_GroupID_ értéket cseréljük a megfelelő Objektum ID-ra&lt;br /&gt;
            'replacement' =&amp;gt; 'faculty',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        32 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
            'pattern' =&amp;gt; '/^_eduID_Hallgató_GroupID_$/', // _eduID_Hallgató_GroupID_ értéket cseréljük a megfelelő Objektum ID-ra&lt;br /&gt;
            'replacement' =&amp;gt; 'student',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        33 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
            'pattern' =&amp;gt; '/^_eduID_Admin_GroupID_$/', // _eduID_Admin_GroupID_ értéket cseréljük a megfelelő Objektum ID-ra&lt;br /&gt;
            'replacement' =&amp;gt; 'staff',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        34 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
            'eduPersonAffiliation' =&amp;gt; array('member'),&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        35 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeCopy',&lt;br /&gt;
            'eduPersonAffiliation' =&amp;gt; 'eduPersonScopedAffiliation'&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        36 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonScopedAffiliation',&lt;br /&gt;
            'pattern' =&amp;gt; '/^.*$/',&lt;br /&gt;
            'replacement' =&amp;gt; '${0}@$_DOMAIN_',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        50 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:TargetedID',&lt;br /&gt;
            'identifyingAttribute' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
            'nameId' =&amp;gt; TRUE,&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        60 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
            'name2oid'&lt;br /&gt;
        ],&lt;br /&gt;
        75  =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'entitycategories:EntityCategory',&lt;br /&gt;
            'default' =&amp;gt; true,&lt;br /&gt;
            'strict' =&amp;gt; false,&lt;br /&gt;
            'allowRequestedAttributes' =&amp;gt; true,&lt;br /&gt;
            'http://eduid.hu/category/registered-by-eduidhu' =&amp;gt; [],&lt;br /&gt;
            'http://www.geant.net/uri/dataprotection-code-of-conduct/v1' =&amp;gt; [&lt;br /&gt;
                'urn:oid:2.16.840.1.113730.3.1.241', # displayName&lt;br /&gt;
                'urn:oid:2.5.4.4', # sn&lt;br /&gt;
                'urn:oid:2.5.4.42', # givenName&lt;br /&gt;
                'urn:oid:0.9.2342.19200300.100.1.3', # mail&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.6', # eduPersonPrincipalName&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.9', # eduPersonScopedAffiliation&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.1', # eduPersonAffiliation&lt;br /&gt;
            ],&lt;br /&gt;
            'http://refeds.org/category/research-and-scholarship' =&amp;gt; [&lt;br /&gt;
                'urn:oid:2.16.840.1.113730.3.1.241', # displayName&lt;br /&gt;
                'urn:oid:2.5.4.4', # sn&lt;br /&gt;
                'urn:oid:2.5.4.42', # givenName&lt;br /&gt;
                'urn:oid:0.9.2342.19200300.100.1.3', # mail&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.6', # eduPersonPrincipalName&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.9', # eduPersonScopedAffiliation&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.1', # eduPersonAffiliation&lt;br /&gt;
            ],&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        90 =&amp;gt; 'core:AttributeLimit',&lt;br /&gt;
    ],&lt;br /&gt;
&lt;br /&gt;
    'simplesaml.nameidattribute' =&amp;gt; 'urn:oid:1.3.6.1.4.1.5923.1.1.1.6',&lt;br /&gt;
&lt;br /&gt;
    'attributeencodings' =&amp;gt; array(&lt;br /&gt;
        'urn:oid:1.3.6.1.4.1.5923.1.1.1.10' =&amp;gt; 'raw', /* eduPersonTargetedID with oid NameFormat. */&lt;br /&gt;
    ),&lt;br /&gt;
&lt;br /&gt;
    'sign.logout' =&amp;gt; true&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== attributemap/azure2oid.php ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$attributemap = [&lt;br /&gt;
    // displayName&lt;br /&gt;
    'http://schemas.microsoft.com/identity/claims/displayname' =&amp;gt; 'urn:oid:2.16.840.1.113730.3.1.241',&lt;br /&gt;
    // eppn&lt;br /&gt;
    'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name' =&amp;gt; 'urn:oid:1.3.6.1.4.1.5923.1.1.1.6',&lt;br /&gt;
    // givenName&lt;br /&gt;
    'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname' =&amp;gt; 'urn:oid:2.5.4.42',&lt;br /&gt;
    // cn&lt;br /&gt;
    'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname' =&amp;gt; 'urn:oid:2.5.4.3',&lt;br /&gt;
    // surname&lt;br /&gt;
    'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname' =&amp;gt; 'urn:oid:2.5.4.4',&lt;br /&gt;
    // mail&lt;br /&gt;
    'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress' =&amp;gt; 'urn:oid:0.9.2342.19200300.100.1.3',&lt;br /&gt;
    // o &amp;amp; organisation&lt;br /&gt;
    'http://schemas.microsoft.com/identity/claims/tenantid' =&amp;gt; 'urn:oid:2.5.4.10',&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== attributemap/azure2name.php ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$attributemap = [&lt;br /&gt;
    // eppn&lt;br /&gt;
    'http://schemas.microsoft.com/identity/claims/objectidentifier' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
    // mail&lt;br /&gt;
    'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress' =&amp;gt; 'mail',&lt;br /&gt;
    // displayName&lt;br /&gt;
    'http://schemas.microsoft.com/identity/claims/displayname' =&amp;gt; 'displayName',&lt;br /&gt;
    // givenName&lt;br /&gt;
    'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname' =&amp;gt; 'givenName',&lt;br /&gt;
    // cn&lt;br /&gt;
    'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname' =&amp;gt; 'sn',&lt;br /&gt;
    // affiliation&lt;br /&gt;
    'http://schemas.microsoft.com/ws/2008/06/identity/claims/groups' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== config/module_cron.php ===&lt;br /&gt;
&lt;br /&gt;
Ha még nincs bekapcsolva a cron module, akkor:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
$config = [&lt;br /&gt;
   'key' =&amp;gt; '_RANDOM_KEY_',&lt;br /&gt;
   'allowed_tags' =&amp;gt; ['daily', 'hourly', 'frequent'],&lt;br /&gt;
   'debug_message' =&amp;gt; true,&lt;br /&gt;
   'sendemail' =&amp;gt; true,&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Illetve hozzuk létre a cron-t:&lt;br /&gt;
/etc/cron.d/simplesaml fájlban:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
# Run cron [daily]&lt;br /&gt;
02 0 * * * curl -sS &amp;quot;https://YOUR_SERVER/simplesaml/module.php/cron/run/daily/_RANDOM_KEY_&amp;quot;&lt;br /&gt;
# Run cron [hourly]&lt;br /&gt;
01 * * * * curl -sS &amp;quot;https://YOUR_SERVER/simplesaml/module.php/cron/run/hourly/_RANDOM_KEY_&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Teendők Azure AD oldalon ==&lt;br /&gt;
&lt;br /&gt;
1. A https://portal.azure.com/ oldalon jelentkezzünk be egy adminisztrátori fiókkal&lt;br /&gt;
&lt;br /&gt;
2. Válasszuk az &amp;quot;App registrations&amp;quot;-t&lt;br /&gt;
&lt;br /&gt;
3. &amp;quot;New registration&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. &amp;quot;Redirect URI (optional)&amp;quot; -nál adjuk meg a telepített SSP default SP címét. Pl: https://idp._DOMAIN_/simplesaml/module.php/saml/sp/metadata.php/default-sp&lt;br /&gt;
&lt;br /&gt;
5. &amp;quot;Token configuration&amp;quot; =&amp;gt; &amp;quot;Add optional claim&amp;quot; =&amp;gt; &amp;quot;Token type&amp;quot;-nál válasszuk a &amp;quot;SAML&amp;quot;-t és jelöljük ki az összes attribútumot, majd, &amp;quot;Add&amp;quot;&lt;br /&gt;
&lt;br /&gt;
6 &amp;quot;Add groups claim&amp;quot;, majd mentsük el&lt;br /&gt;
&lt;br /&gt;
[[Fájl:Token configuration.png|none|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
7. Állítsuk be az API persmissions-t az alábbi alapján:&lt;br /&gt;
&lt;br /&gt;
[[Fájl:API permissions.png|none|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
Teszt&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=AAI/AzureADasAuthsource&amp;diff=5046</id>
		<title>AAI/AzureADasAuthsource</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=AAI/AzureADasAuthsource&amp;diff=5046"/>
				<updated>2024-11-20T09:38:26Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Amennyiben Azure AD-ban tároljuk a felhasználói adatokat, úgy lehetőség van azt azonosítási forrásként is használni. A [[SimpleSAMLphp]] oldalon leírt telepítés után az alábbiak elvégzésére van szükség:&lt;br /&gt;
(ez csak egy példakonfiguráció, természetesen el lehet ettől térni)&lt;br /&gt;
&lt;br /&gt;
== Teendők SimpleSAMLPHP (SSP) oldalon ==&lt;br /&gt;
&lt;br /&gt;
Keressük ki az Azure AD-ból a Tenant ID-t. A beállítás során erre _TenantID_-val fogunk hivatkozni, oda minden esetben ezt az azonosítót kell behelyettesíteni. Az azonosítót jelenleg a &lt;br /&gt;
https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview oldalon keresztül lehet beszerezni&lt;br /&gt;
(Forrás: https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-how-to-find-tenant)&lt;br /&gt;
&lt;br /&gt;
A _DOMAIN_ helyére a használni kívánt scope-ot szükséges behelyettesíteni (pl intezmeny.hu)&lt;br /&gt;
&lt;br /&gt;
=== config/authsources.php fájlba ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    'default-sp' =&amp;gt; [&lt;br /&gt;
        'saml:SP',&lt;br /&gt;
&lt;br /&gt;
        // The entity ID of this SP.&lt;br /&gt;
        // Can be NULL/unset, in which case an entity ID is generated based on the metadata URL.&lt;br /&gt;
        'entityID' =&amp;gt; null,&lt;br /&gt;
&lt;br /&gt;
        // The entity ID of the IdP this SP should contact.&lt;br /&gt;
        // Can be NULL/unset, in which case the user will be shown a list of available IdPs.&lt;br /&gt;
        'idp' =&amp;gt; 'https://sts.windows.net/_TenantID_/',&lt;br /&gt;
&lt;br /&gt;
        // The URL to the discovery service.&lt;br /&gt;
        // Can be NULL/unset, in which case a builtin discovery service will be used.&lt;br /&gt;
        'discoURL' =&amp;gt; null,&lt;br /&gt;
        'NameIDFormat' =&amp;gt; 'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent',&lt;br /&gt;
        'simplesaml.nameidattribute' =&amp;gt; 'eduPersonTargetedID',&lt;br /&gt;
&lt;br /&gt;
        /*&lt;br /&gt;
         * The attributes parameter must contain an array of desired attributes by the SP.&lt;br /&gt;
         * The attributes can be expressed as an array of names or as an associative array&lt;br /&gt;
         * in the form of 'friendlyName' =&amp;gt; 'name'. This feature requires 'name' to be set.&lt;br /&gt;
         * The metadata will then be created as follows:&lt;br /&gt;
         * &amp;lt;md:RequestedAttribute FriendlyName=&amp;quot;friendlyName&amp;quot; Name=&amp;quot;name&amp;quot; /&amp;gt;&lt;br /&gt;
         */&lt;br /&gt;
        /*&lt;br /&gt;
        'name' =&amp;gt; [&lt;br /&gt;
            'en' =&amp;gt; 'A service',&lt;br /&gt;
            'no' =&amp;gt; 'En tjeneste',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        'attributes' =&amp;gt; [&lt;br /&gt;
            'attrname' =&amp;gt; 'urn:oid:x.x.x.x',&lt;br /&gt;
        ],&lt;br /&gt;
        'attributes.required' =&amp;gt; [&lt;br /&gt;
            'urn:oid:x.x.x.x',&lt;br /&gt;
        ],&lt;br /&gt;
        */&lt;br /&gt;
    ],&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== config/config-metarefresh.php fájlba ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$config = [&lt;br /&gt;
&lt;br /&gt;
    'sets' =&amp;gt; [&lt;br /&gt;
        'azure' =&amp;gt; [&lt;br /&gt;
            'cron' =&amp;gt; ['hourly'],&lt;br /&gt;
            'sources' =&amp;gt; [&lt;br /&gt;
                [&lt;br /&gt;
                    'src' =&amp;gt; 'https://login.microsoftonline.com/_TenantID_/federationmetadata/2007-06/federationmetadata.xml',&lt;br /&gt;
                ],&lt;br /&gt;
            ],&lt;br /&gt;
            'expireAfter' =&amp;gt; 34560060, // Maximum 4 days cache time (3600*24*4)&lt;br /&gt;
            'outputDir' =&amp;gt; 'metadata/metarefresh-azure',&lt;br /&gt;
            'outputFormat' =&amp;gt; 'flatfile',&lt;br /&gt;
        ],&lt;br /&gt;
    ],&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== metadata/saml20-idp-hosted.php ===&lt;br /&gt;
&lt;br /&gt;
A &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    'authproc' =&amp;gt; [&lt;br /&gt;
&lt;br /&gt;
        10 =&amp;gt; [&lt;br /&gt;
              'class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
              'azure2name'&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        15 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeCopy',&lt;br /&gt;
            'eduPersonPrincipalName' =&amp;gt; 'schacPersonalUniqueCode',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        16 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:PHP',&lt;br /&gt;
            'code' =&amp;gt; '&lt;br /&gt;
                $attributes[&amp;quot;schacPersonalUniqueCode&amp;quot;][0] = &amp;quot;urn:schac:personalUniqueCode:int:esi:_DOMAIN_:&amp;quot; . $attributes[&amp;quot;schacPersonalUniqueCode&amp;quot;][0];&lt;br /&gt;
            ',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        18 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
            'pattern' =&amp;gt; '/^.*$/',&lt;br /&gt;
            'replacement' =&amp;gt; '${0}@_DOMAIN_',&lt;br /&gt;
            'target' =&amp;gt; 'eduPersonPrincipalName'&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        20 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
            'eduPersonEntitlement' =&amp;gt; array('urn:mace:dir:entitlement:common-lib-terms')&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        22 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
            'schacHomeOrganization' =&amp;gt; array('_DOMAIN_')&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        23 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
            'schacHomeOrganizationType' =&amp;gt; array('urn:schac:homeOrganizationType:eu:higherEducationalInstitution')&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
// Azure AD-ban célszerű az affilation-t (intézményhez való viszonyt, pl hallgató, oktató, dolgozó) security group alapján meghatározni. Ezeknek az objektum azonosítóját át fogja adni az Azure AD, amit könnyen kicserélhetünk a kívánt affilation-re:&lt;br /&gt;
&lt;br /&gt;
        31 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
            'pattern' =&amp;gt; '/^_eduID_Dolgozó_GroupID_$/', // _eduID_Dolgozó_GroupID_ értéket cseréljük a megfelelő Objektum ID-ra&lt;br /&gt;
            'replacement' =&amp;gt; 'faculty',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        32 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
            'pattern' =&amp;gt; '/^_eduID_Hallgató_GroupID_$/', // _eduID_Hallgató_GroupID_ értéket cseréljük a megfelelő Objektum ID-ra&lt;br /&gt;
            'replacement' =&amp;gt; 'student',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        33 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
            'pattern' =&amp;gt; '/^_eduID_Admin_GroupID_$/', // _eduID_Admin_GroupID_ értéket cseréljük a megfelelő Objektum ID-ra&lt;br /&gt;
            'replacement' =&amp;gt; 'staff',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        34 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
            'eduPersonAffiliation' =&amp;gt; array('member'),&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        35 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeCopy',&lt;br /&gt;
            'eduPersonAffiliation' =&amp;gt; 'eduPersonScopedAffiliation'&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        36 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonScopedAffiliation',&lt;br /&gt;
            'pattern' =&amp;gt; '/^.*$/',&lt;br /&gt;
            'replacement' =&amp;gt; '${0}@$_DOMAIN_',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        50 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:TargetedID',&lt;br /&gt;
            'identifyingAttribute' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
            'nameId' =&amp;gt; TRUE,&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        60 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
            'name2oid'&lt;br /&gt;
        ],&lt;br /&gt;
        75  =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'entitycategories:EntityCategory',&lt;br /&gt;
            'default' =&amp;gt; true,&lt;br /&gt;
            'strict' =&amp;gt; false,&lt;br /&gt;
            'allowRequestedAttributes' =&amp;gt; true,&lt;br /&gt;
            'http://eduid.hu/category/registered-by-eduidhu' =&amp;gt; [],&lt;br /&gt;
            'http://www.geant.net/uri/dataprotection-code-of-conduct/v1' =&amp;gt; [&lt;br /&gt;
                'urn:oid:2.16.840.1.113730.3.1.241', # displayName&lt;br /&gt;
                'urn:oid:2.5.4.4', # sn&lt;br /&gt;
                'urn:oid:2.5.4.42', # givenName&lt;br /&gt;
                'urn:oid:0.9.2342.19200300.100.1.3', # mail&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.6', # eduPersonPrincipalName&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.9', # eduPersonScopedAffiliation&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.1', # eduPersonAffiliation&lt;br /&gt;
            ],&lt;br /&gt;
            'http://refeds.org/category/research-and-scholarship' =&amp;gt; [&lt;br /&gt;
                'urn:oid:2.16.840.1.113730.3.1.241', # displayName&lt;br /&gt;
                'urn:oid:2.5.4.4', # sn&lt;br /&gt;
                'urn:oid:2.5.4.42', # givenName&lt;br /&gt;
                'urn:oid:0.9.2342.19200300.100.1.3', # mail&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.6', # eduPersonPrincipalName&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.9', # eduPersonScopedAffiliation&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.1', # eduPersonAffiliation&lt;br /&gt;
            ],&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        90 =&amp;gt; 'core:AttributeLimit',&lt;br /&gt;
    ],&lt;br /&gt;
&lt;br /&gt;
    'simplesaml.nameidattribute' =&amp;gt; 'urn:oid:1.3.6.1.4.1.5923.1.1.1.6',&lt;br /&gt;
&lt;br /&gt;
    'attributeencodings' =&amp;gt; array(&lt;br /&gt;
        'urn:oid:1.3.6.1.4.1.5923.1.1.1.10' =&amp;gt; 'raw', /* eduPersonTargetedID with oid NameFormat. */&lt;br /&gt;
    ),&lt;br /&gt;
&lt;br /&gt;
    'sign.logout' =&amp;gt; true&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== attributemap/azure2oid.php ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$attributemap = [&lt;br /&gt;
    // displayName&lt;br /&gt;
    'http://schemas.microsoft.com/identity/claims/displayname' =&amp;gt; 'urn:oid:2.16.840.1.113730.3.1.241',&lt;br /&gt;
    // eppn&lt;br /&gt;
    'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name' =&amp;gt; 'urn:oid:1.3.6.1.4.1.5923.1.1.1.6',&lt;br /&gt;
    // givenName&lt;br /&gt;
    'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname' =&amp;gt; 'urn:oid:2.5.4.42',&lt;br /&gt;
    // cn&lt;br /&gt;
    'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname' =&amp;gt; 'urn:oid:2.5.4.3',&lt;br /&gt;
    // surname&lt;br /&gt;
    'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname' =&amp;gt; 'urn:oid:2.5.4.4',&lt;br /&gt;
    // mail&lt;br /&gt;
    'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress' =&amp;gt; 'urn:oid:0.9.2342.19200300.100.1.3',&lt;br /&gt;
    // o &amp;amp; organisation&lt;br /&gt;
    'http://schemas.microsoft.com/identity/claims/tenantid' =&amp;gt; 'urn:oid:2.5.4.10',&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== attributemap/azure2name.php ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$attributemap = [&lt;br /&gt;
    // eppn&lt;br /&gt;
    'http://schemas.microsoft.com/identity/claims/objectidentifier' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
    // mail&lt;br /&gt;
    'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress' =&amp;gt; 'mail',&lt;br /&gt;
    // displayName&lt;br /&gt;
    'http://schemas.microsoft.com/identity/claims/displayname' =&amp;gt; 'displayName',&lt;br /&gt;
    // givenName&lt;br /&gt;
    'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname' =&amp;gt; 'givenName',&lt;br /&gt;
    // cn&lt;br /&gt;
    'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname' =&amp;gt; 'sn',&lt;br /&gt;
    // affiliation&lt;br /&gt;
    'http://schemas.microsoft.com/ws/2008/06/identity/claims/groups' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== config/module_cron.php ===&lt;br /&gt;
&lt;br /&gt;
Ha még nincs bekapcsolva a cron module, akkor:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
$config = [&lt;br /&gt;
   'key' =&amp;gt; '_RANDOM_KEY_',&lt;br /&gt;
   'allowed_tags' =&amp;gt; ['daily', 'hourly', 'frequent'],&lt;br /&gt;
   'debug_message' =&amp;gt; true,&lt;br /&gt;
   'sendemail' =&amp;gt; true,&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Illetve hozzuk létre a cron-t:&lt;br /&gt;
/etc/cron.d/simplesaml fájlban:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
# Run cron [daily]&lt;br /&gt;
02 0 * * * curl -sS &amp;quot;https://YOUR_SERVER/simplesaml/module.php/cron/run/daily/_RANDOM_KEY_&amp;quot;&lt;br /&gt;
# Run cron [hourly]&lt;br /&gt;
01 * * * * curl -sS &amp;quot;https://YOUR_SERVER/simplesaml/module.php/cron/run/hourly/_RANDOM_KEY_&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Teendők Azure AD oldalon ==&lt;br /&gt;
&lt;br /&gt;
1. A https://portal.azure.com/ oldalon jelentkezzünk be egy adminisztrátori fiókkal&lt;br /&gt;
&lt;br /&gt;
2. Válasszuk az &amp;quot;App registrations&amp;quot;-t&lt;br /&gt;
&lt;br /&gt;
3. &amp;quot;New registration&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. &amp;quot;Redirect URI (optional)&amp;quot; -nál adjuk meg a telepített SSP default SP címét. Pl: https://idp._DOMAIN_/simplesaml/module.php/saml/sp/metadata.php/default-sp&lt;br /&gt;
&lt;br /&gt;
5. &amp;quot;Token configuration&amp;quot; =&amp;gt; &amp;quot;Add optional claim&amp;quot; =&amp;gt; &amp;quot;Token type&amp;quot;-nál válasszuk a &amp;quot;SAML&amp;quot;-t és jelöljük ki az összes attribútumot, majd, &amp;quot;Add&amp;quot;&lt;br /&gt;
&lt;br /&gt;
6 &amp;quot;Add groups claim&amp;quot;, majd mentsük el&lt;br /&gt;
&lt;br /&gt;
[[Fájl:Token configuration.png|none|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
7. Állítsuk be az API persmissions-t az alábbi alapján:&lt;br /&gt;
&lt;br /&gt;
[[Fájl:API permissions.png|none|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
Teszt&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=GoogleAuth_SAML&amp;diff=5027</id>
		<title>GoogleAuth SAML</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=GoogleAuth_SAML&amp;diff=5027"/>
				<updated>2024-03-05T20:33:33Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SimpleSAMLphp proxy-t használva, a Google workspace fiókot is beköthetjük az eduID federációba.&lt;br /&gt;
&lt;br /&gt;
1. Felügyeleti konzolon: &amp;quot;Alkalmazások&amp;quot; =&amp;gt; &amp;quot;Webes és mobilalkalmazások&amp;quot; =&amp;gt; &amp;quot;Alkalmazás hozzáadaása&amp;quot; =&amp;gt; &amp;quot;Egyéni SAML alkalmazás hozzáadása&amp;quot;&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Alkalmazásnév&amp;quot;: eduID, majd &amp;quot;Tovább&amp;quot;&lt;br /&gt;
&lt;br /&gt;
3. &amp;quot;Metadataadatok letöltése&amp;quot;, majd &amp;quot;Tovább&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. &amp;quot;ACS URL&amp;quot;: simplesamlphp belépési URL-ét másoljuk be (pl https://_domain_/simplesaml/module.php/saml/sp/saml2-acs.php/google-workspace ), &amp;quot;Entitásazonosító&amp;quot; mezőbe az előző oldalról a &amp;quot;Entitásazonosító&amp;quot; értékét (pl: https://accounts.google.com/o/saml2?idpid=123456), Névazonosító formátuma: &amp;quot;EMAIL&amp;quot;, Névazonosító: &amp;quot;PRIMARY EMAIL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Attribútumok oldalon az alábbi attribútumokat és értékeket vegyük fel:&lt;br /&gt;
  &amp;quot;First name&amp;quot;: &amp;quot;urn:oid:2.5.4.42&amp;quot;&lt;br /&gt;
  &amp;quot;Last name&amp;quot;: &amp;quot;urn:oid:2.5.4.4&amp;quot;&lt;br /&gt;
  &amp;quot;Primary email&amp;quot;: &amp;quot;urn:oid:0.9.2342.19200300.100.1.3&amp;quot;&lt;br /&gt;
Majd befejezés&lt;br /&gt;
&lt;br /&gt;
6. &amp;quot;Felhasználói hozzáférés&amp;quot; résznél aktiváljuk a szolgáltatást a &amp;quot;BEKAPCSOLVA mindenki számára&amp;quot; opcióval&lt;br /&gt;
&lt;br /&gt;
7. A simpleSAMLphp metadata konvertálója ( https://idpurl/simplesaml/admin/metadata-converter.php ) segítségével alakítsuk át a letöltött XML-t és az eredményt mentsük el a &amp;quot;metadata/saml20-idp-remote.php&amp;quot; fájlba.&lt;br /&gt;
&lt;br /&gt;
8. config/authsources.php fájlban a &amp;quot;default-sp&amp;quot; =&amp;gt; &amp;quot;entityID&amp;quot; -nél értéknél adjuk meg az &amp;quot;Entitásazonosító&amp;quot; értéket&lt;br /&gt;
&lt;br /&gt;
9. metadata/saml20-idp-hosted.php fájlban: &amp;quot;'auth' =&amp;gt; 'google-workspace'&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=GoogleAuth_SAML&amp;diff=5026</id>
		<title>GoogleAuth SAML</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=GoogleAuth_SAML&amp;diff=5026"/>
				<updated>2024-03-05T18:09:25Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: Új oldal, tartalma: „SimpleSAMLphp proxy-t használva, a Google workspace fiókot is beköthetjük az eduID federációba.  1. Felügyeleti konzolon: &amp;quot;Alkalmazások&amp;quot; =&amp;gt; &amp;quot;Webes és mobilalka…”&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SimpleSAMLphp proxy-t használva, a Google workspace fiókot is beköthetjük az eduID federációba.&lt;br /&gt;
&lt;br /&gt;
1. Felügyeleti konzolon: &amp;quot;Alkalmazások&amp;quot; =&amp;gt; &amp;quot;Webes és mobilalkalmazások&amp;quot; =&amp;gt; &amp;quot;Alkalmazás hozzáadaása&amp;quot; =&amp;gt; &amp;quot;Egyéni SAML alkalmazás hozzáadása&amp;quot;&lt;br /&gt;
&lt;br /&gt;
2. &amp;quot;Alkalmazásnév&amp;quot;: eduID, majd &amp;quot;Tovább&amp;quot;&lt;br /&gt;
&lt;br /&gt;
3. &amp;quot;Metadataadatok letöltése&amp;quot;, majd &amp;quot;Tovább&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. &amp;quot;ACS URL&amp;quot;: simplesamlphp belépési URL-ét másoljuk be (pl https://domain/simplesaml/saml2/idp/SSOService.php ), &amp;quot;Entitásazonosító&amp;quot; mezőbe az entity ID-t, Névazonosító formátuma: &amp;quot;EMAIL&amp;quot;, Névazonosító: &amp;quot;PRIMARY EMAIL&amp;quot;&lt;br /&gt;
5. Attribútumok oldalon az alábbi attribútumokat és értékeket vegyük fel:&lt;br /&gt;
  &amp;quot;First name&amp;quot;: &amp;quot;urn:oid:2.5.4.42&amp;quot;&lt;br /&gt;
  &amp;quot;Last name&amp;quot;: &amp;quot;urn:oid:2.5.4.4&amp;quot;&lt;br /&gt;
  &amp;quot;Primary email&amp;quot;: &amp;quot;urn:oid:0.9.2342.19200300.100.1.3&amp;quot;&lt;br /&gt;
Majd befejezés&lt;br /&gt;
&lt;br /&gt;
6. &amp;quot;Felhasználói hozzáférés&amp;quot; résznél aktiváljuk a szolgáltatást a &amp;quot;BEKAPCSOLVA mindenki számára&amp;quot; opcióval&lt;br /&gt;
&lt;br /&gt;
7. A simpleSAMLphp metadata konvertálója ( https://idpurl/simplesaml/admin/metadata-converter.php ) segítségével alakítsuk át a letöltött XML-t és az eredményt mentsük el a &amp;quot;metadata/saml20-idp-remote.php&amp;quot; fájlba.&lt;br /&gt;
&lt;br /&gt;
8. config/authsources.php fájlban a &amp;quot;default-sp&amp;quot; =&amp;gt; &amp;quot;entityID&amp;quot; -nél értéknél adjuk meg az &amp;quot;Entitásazonosító&amp;quot; értéket&lt;br /&gt;
&lt;br /&gt;
9. metadata/saml20-idp-hosted.php fájlban: &amp;quot;'auth' =&amp;gt; 'default-sp'&amp;quot;&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=MDX&amp;diff=5025</id>
		<title>MDX</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=MDX&amp;diff=5025"/>
				<updated>2023-11-22T13:24:17Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az MDX, azaz MetaDataeXchange protokolt erőforrás optimalizálás céljából találták ki, hogy ne kelljen egyes IdP-knek és SP-knek indokolatlanul nagy XML fájlokat feldolgozniuk és tárolniuk, mikor a felhasználóiknak jó eséllyel a fájlokban tárolt entitások töredékére van csak szükségük. Ezért az egyes entitásokat be lehet úgy állítani, hogy csak akkor töltsék le az adott entitás metaadatát, mikor arra szükség van (az első letöltés után természetesen helyben tároldóik a metaadat a &amp;lt;code&amp;gt;cacheDuration&amp;lt;/code&amp;gt;-ben megadott ideig). Az MDX kiszolgáló az alábbi szabvány szerint tudja visszaadni egy-egy entitás metaadatát: &amp;lt;code&amp;gt;https://mdx.eduid.hu/entities/{urlencoded}$entityID&amp;lt;/code&amp;gt;, pl: &amp;lt;code&amp;gt;https://mdx.eduid.hu/entities/https%3A%2F%2Fdev.aai.niif.hu%2Fshibboleth&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dinamikus metadata kiszolgálás a HREF-ben ==&lt;br /&gt;
Az MDX kiszolgáló a '''https://mdx.eduid.hu''' alatt szolgáltat, és a ''href'' és az ''edugain'' metadata halmazokat tartalmazza.&lt;br /&gt;
&lt;br /&gt;
Mindkét kiszolgáló ugyanazzal a kulccsal írja alá a lekért metaadat-állományt. &lt;br /&gt;
* A tanúsítvány letölthető innen: https://metadata.eduid.hu/certs/href-metadata-signer-2020.crt &lt;br /&gt;
* SHA-1 lenyomata: &amp;lt;code&amp;gt;C3:72:DC:75:4C:FA:BA:65:63:52:D9:6B:47:5B:44:7E:AA:F6:45:61&amp;lt;/code&amp;gt; . &lt;br /&gt;
&lt;br /&gt;
=== Fontos tudnivaló Discovery Service használattal kapcsolatban ===&lt;br /&gt;
Lévén az MDX-et használó SP-knél nem áll rendelkezésre folyamatosan az összes potenciális IdP listája, így a beépített Discovery Service-ek nem működnek. Ha MDX-et használunk, akkor valamilyen külső Discvery Service-t kell használnunk. A HREF-ben a https://discovery.eduid.hu a központi Discovery Service. &lt;br /&gt;
&lt;br /&gt;
Emellett maga az MDX kiszolgáló is biztosít Discovery Service felületet, ehhez akár Shibboleth SP-nél, akár simpleSAMLphp SP-nél a konfigurációban az alábbi URL-t kell megadni, mint Discovery Service: https://mdx.eduid.hu/role/idp.ds . Ez a Discovery Service tartalmazza a hazai eduID-ben, valamint az eduGAIN-ben levő összes IdP-t. (És, ellentétben a hagyományos https://discovery.eduid.hu/edugain szolgáltatással, ez tartlamazza a magyar VHO-t is VHO IdP néven.)&lt;br /&gt;
&lt;br /&gt;
== MDX használata kliens oldalon ==&lt;br /&gt;
=== SimpleSAMLphp ===&lt;br /&gt;
&lt;br /&gt;
Az 1.14-es kiadástól kezdve a SimpleSAMLphp tartalmazza az dinamikus metadata lekérdezés funkciót, amely mind IdP, mind SP szerepben egységes módon használható. A config/config.php állományban metadata.sources szekcióban kell elhelyezni az alábbi blokkot:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
'metadata.sources' =&amp;gt; array(&lt;br /&gt;
     array('type' =&amp;gt; 'flatfile'), // ez a *-hosted metadata konfiguráció betöltése miatt szükséges&lt;br /&gt;
     array(&lt;br /&gt;
         'type' =&amp;gt; 'mdx',&lt;br /&gt;
         'server' =&amp;gt; 'https://mdx.eduid.hu',&lt;br /&gt;
         'cachedir' =&amp;gt; '/var/simplesamlphp/mdx-cache', //opcionális, de ajánlott&lt;br /&gt;
         'cachelength' =&amp;gt; 86400, //opcionális,&lt;br /&gt;
         'validateFingerprint' =&amp;gt; 'C3:72:DC:75:4C:FA:BA:65:63:52:D9:6B:47:5B:44:7E:AA:F6:45:61' //opcionális     &lt;br /&gt;
      ),&lt;br /&gt;
),&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A dinamikus és a statikus metadataforrások egyidejű használatára egy példa: [[SimpleSAMLMixedMetadata]]&lt;br /&gt;
&lt;br /&gt;
=== Shibboleth SP ===&lt;br /&gt;
&lt;br /&gt;
* Le kell tölteni a /etc/shibboleth alá az aláíró tanúsítványát innen: https://metadata.eduid.hu/certs/href-metadata-signer-2020.crt&lt;br /&gt;
* Az alábbi blokkot be kell szúrni a &amp;lt;code&amp;gt;/etc/shibboleth/shibboleth2.xml&amp;lt;/code&amp;gt; fájlba&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;MetadataProvider type=&amp;quot;Dynamic&amp;quot; ignoreTransport=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Subst&amp;gt;https://mdx.eduid.hu/entities/$entityID&amp;lt;/Subst&amp;gt;&lt;br /&gt;
      &amp;lt;MetadataFilter type=&amp;quot;Signature&amp;quot; certificate=&amp;quot;href-metadata-signer-2020.crt&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Shibboleth IdPv3 ===&lt;br /&gt;
&lt;br /&gt;
* Le kell tölteni a &amp;lt;code&amp;gt;${idp.home}/credentials/&amp;lt;/code&amp;gt; alá az aláíró tanúsítványát innen: https://metadata.eduid.hu/certs/href-metadata-signer-2020.crt&lt;br /&gt;
* A &amp;lt;code&amp;gt;conf/metadata-providers.xml&amp;lt;/code&amp;gt; fájlt kell szerkeszteni az alábbi módon:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;MetadataProvider&lt;br /&gt;
     xmlns=&amp;quot;urn:mace:shibboleth:2.0:metadata&amp;quot;&lt;br /&gt;
     xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
     xsi:schemaLocation=&amp;quot;urn:mace:shibboleth:2.0:metadata http://shibboleth.net/schema/idp/shibboleth-metadata.xsd&amp;quot;&lt;br /&gt;
     id=&amp;quot;dynamicMDQ&amp;quot; xsi:type=&amp;quot;DynamicHTTPMetadataProvider&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     &amp;lt;!--&lt;br /&gt;
       Require a validUntil XML attribute on the EntityDescriptor element&lt;br /&gt;
       and make sure its value is no more than 14 days into the future&lt;br /&gt;
     --&amp;gt;&lt;br /&gt;
     &amp;lt;MetadataFilter xsi:type=&amp;quot;RequiredValidUntil&amp;quot; maxValidityInterval=&amp;quot;P14D&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;!-- Verify the signature on the metadata file --&amp;gt;&lt;br /&gt;
     &amp;lt;MetadataFilter xsi:type=&amp;quot;SignatureValidation&amp;quot; requireSignedMetadata=&amp;quot;true&amp;quot;&lt;br /&gt;
         certificateFile=&amp;quot;${idp.home}/credentials/href-metadata-signer-2020.crt&amp;quot; /&amp;gt;&lt;br /&gt;
     &lt;br /&gt;
     &amp;lt;!-- The MetadataQueryProtocol element specifies the base URL for the query protocol. --&amp;gt;&lt;br /&gt;
     &amp;lt;MetadataQueryProtocol&amp;gt;https://mdx.eduid.hu/&amp;lt;/MetadataQueryProtocol&amp;gt;&lt;br /&gt;
&amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5020</id>
		<title>Hub.eduid.hu</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5020"/>
				<updated>2023-10-16T13:06:28Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: /* Regisztrációja hub.eduid.hu szolgáltatásba */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az o365.eduid.hu címen működő szolgáltatás utódja.&lt;br /&gt;
&lt;br /&gt;
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)&lt;br /&gt;
&lt;br /&gt;
= Microsoft integráció =&lt;br /&gt;
&lt;br /&gt;
Microsoft Graph API-n keresztül létrehozza a felhasználót és affiliation (student, staff, member) alapján hozzárendeli csoportokhoz. A csoporthoz hozzá lehet rendelni licenszeket, illetve jogosultságokat, amit automatikusan megörököl a felhasználó&lt;br /&gt;
&lt;br /&gt;
Az o365.eduid.hu címen működő szolgáltatás utódja.&lt;br /&gt;
&lt;br /&gt;
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)&lt;br /&gt;
&lt;br /&gt;
== Szükséges beállítások Microsoft oldalról ==&lt;br /&gt;
&lt;br /&gt;
1. Készítsünk egy Office 365 tenant-ot, ha még nincs: https://learn.microsoft.com/hu-hu/microsoft-365/education/deploy/create-your-office-365-tenant&lt;br /&gt;
&lt;br /&gt;
2. A https://portal.azure.com oldalon bejelentkezve, hozzunk létre 1-1 biztonsági csoportot a tanulók és a dolgozók részére. Jegyezzük fel a csoportok objektumazonosítóját&lt;br /&gt;
&lt;br /&gt;
3. Ahhoz, hogy a hub.eduid.hu szolgáltatás kezelni tudja a létrehozott tenant-ot, regisztráljunk egy új alkalmazást: https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/CreateApplicationBlade (ajánlott név: hub.eduid.hu)&lt;br /&gt;
Mentsük el a generált &amp;quot;Alkalmazás (ügyfél) azonosítója&amp;quot; értéket&lt;br /&gt;
&lt;br /&gt;
4. Az alkalmazáshoz készítsünk egy új titkos ügyfélkódot, majd a generálás végén mentsünk el a titkos ügyfélkód &amp;quot;Érték&amp;quot; mező értékét. [[Fájl:Tanúsítvány.png|right|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
5. A létrehozott alkalmazáshoz állítsuk be a szükséges jogosultságokat:&lt;br /&gt;
&lt;br /&gt;
[[Fájl:API engedélyek hozzáadása.png|right|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
* User.ReadWrite.All&lt;br /&gt;
* Group.ReadWrite.All&lt;br /&gt;
* Directory.ReadWrite.All&lt;br /&gt;
* GroupMember.ReadWrite.All&lt;br /&gt;
* MailboxSettings.Read&lt;br /&gt;
* MailboxSettings.ReadWrite&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Rendszergazda jogosultság megadása...&amp;quot; gombbal fogadjuk el az új beállításokat&lt;br /&gt;
&lt;br /&gt;
6. A SAML login bekapcsolásának egyelőre sajnos nincs webes beállítási lehetősége, a Microsoft-tól sem kaptunk ezügyben iránymutatást, ezért ezt PowerShell-en keresztül kell megtenni.&lt;br /&gt;
&lt;br /&gt;
'''Figyelem!''' Ha bekapcsoljuk a domain-ra a SAML alapú (Federated) bejelentkezést, akkor már csak azon keresztül lehet bejelentkezni az adott domainre, nincs lehetőség, vegyeshasználatra! Csak akkor hatjsuk végre a beállítást, ha rendben megtörtént a hub.eduid.hu és Microsoft közötti kapcsolat és megfelelően létrejöttek a felhasználók!&lt;br /&gt;
&lt;br /&gt;
Indítsunk egy PowerShell-t, majd adjuk ki a ''Connect-MsolService'' parancsot (ha nincs még feltelepítve, akkor a Install-Module MSOnline paranccsal lehet). Jelentkezzünk be adminisztrátori fiókunkkal.&lt;br /&gt;
[[Fájl:PowerShell.png|bélyegkép|jobbra]]&lt;br /&gt;
Állítsuk be az alábbi változókat:&lt;br /&gt;
&lt;br /&gt;
  $dom = _domain amire engedélyezzük a Federációs bejelentkezést_&lt;br /&gt;
  $BrandName = _intézmény neve_&lt;br /&gt;
  $LogOffUrl = _IdP kijelentkezési URL-je_ &lt;br /&gt;
  $ecpUrl = _IdP bejelentkezési URL-je_&lt;br /&gt;
  $MyURI = _IdP entity ID-ja_&lt;br /&gt;
  $MySigningCert = _IdP selfsigned tanúsítványa_&lt;br /&gt;
  $Protocol = &amp;quot;SAMLP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Példa:&lt;br /&gt;
&lt;br /&gt;
  $dom = &amp;quot;kifu.gov.hu&amp;quot; &lt;br /&gt;
  $BrandName = &amp;quot;Kormányzati Informatikai Fejlesztési Ügynökség&amp;quot; &lt;br /&gt;
  $LogOffUrl = &amp;quot;https://idp.niif.hu/simplesaml/saml2/idp/SingleLogoutService.php&amp;quot; &lt;br /&gt;
  $ecpUrl = &amp;quot;https://idp.niif.hu/simplesaml/saml2/idp/SSOService.php&amp;quot;&lt;br /&gt;
  $MyURI = &amp;quot;https://idp.niif.hu/shibboleth&amp;quot;&lt;br /&gt;
  $MySigningCert = &amp;quot;MIID3zCCAsegAwIBAgI......XEhu3Otgo=&amp;quot; &lt;br /&gt;
  $Protocol = &amp;quot;SAMLP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Majd futtassuk le:&lt;br /&gt;
&lt;br /&gt;
  Set-MsolDomainAuthentication -DomainName $dom -FederationBrandName $BrandName -Authentication Federated -PassiveLogOnUri $ecpUrl -ActiveLogOnUri $ecpUrl -SigningCertificate $MySigningCert -IssuerUri $MyURI -LogOffUri $LogOffUrl -PreferredAuthenticationProtocol $Protocol&lt;br /&gt;
&lt;br /&gt;
Ha nem ad vissza semmilyen hibaüzenetet, akkor az office.com -ra való bejelentkezéssel tudjuk tesztelni. Miután beírtuk az e-mail címet a bejelentkező ablakban, akkor át fog irányítani a böngésző az IdP-nkre.&lt;br /&gt;
&lt;br /&gt;
Bejelentkezési mód visszaállítása:&lt;br /&gt;
&lt;br /&gt;
  Set-MsolDomainAuthentication -DomainName $dom -Authentication Managed&lt;br /&gt;
&lt;br /&gt;
== Szükséges beállítások IdP oldalon ==&lt;br /&gt;
&lt;br /&gt;
A korábbiakhoz képest nincs változás. Leírása: [[O365_SAML|https://wiki.niif.hu/O365_SAML]]&lt;br /&gt;
&lt;br /&gt;
== Regisztrációja hub.eduid.hu szolgáltatásba ==&lt;br /&gt;
&lt;br /&gt;
Az alábbi paramétereket kell megküldeni az ügyfélszolgálati e-mail címünkre (info@eduid.hu):&lt;br /&gt;
* teantID (&amp;quot;Bérlő azonosítója&amp;quot;)&lt;br /&gt;
* domain nevek, ami alatt a felhasználókat létre kell hozni (&amp;quot;Egyéni tartománynevek&amp;quot;-nél felvett domain-ek, amiket kezelni kell)&lt;br /&gt;
* affiliation alapján melyik csoportokba helyezzük át a felhasználókat. Ehhez szükséges egy affiliation és groupID összerendelés (pl student-ek kerüljenek az XY csoportba)&lt;br /&gt;
* a létrehozott alkalmazáshoz tartozó &amp;quot;Alkalmazás (ügyfél) azonosítója&amp;quot; és a titkos ügyfélkód&lt;br /&gt;
* domain nevek, ami alatt a felhasználókat létre kell hozni&lt;br /&gt;
&lt;br /&gt;
Jelszavakat, bizalmas információkat érdemes egyszer használatos linken keresztül küldeni, pl a https://pwpush.einfra.hu/ szolgáltatáson&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5019</id>
		<title>Hub.eduid.hu</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5019"/>
				<updated>2023-09-21T15:23:24Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az o365.eduid.hu címen működő szolgáltatás utódja.&lt;br /&gt;
&lt;br /&gt;
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)&lt;br /&gt;
&lt;br /&gt;
= Microsoft integráció =&lt;br /&gt;
&lt;br /&gt;
Microsoft Graph API-n keresztül létrehozza a felhasználót és affiliation (student, staff, member) alapján hozzárendeli csoportokhoz. A csoporthoz hozzá lehet rendelni licenszeket, illetve jogosultságokat, amit automatikusan megörököl a felhasználó&lt;br /&gt;
&lt;br /&gt;
Az o365.eduid.hu címen működő szolgáltatás utódja.&lt;br /&gt;
&lt;br /&gt;
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)&lt;br /&gt;
&lt;br /&gt;
== Szükséges beállítások Microsoft oldalról ==&lt;br /&gt;
&lt;br /&gt;
1. Készítsünk egy Office 365 tenant-ot, ha még nincs: https://learn.microsoft.com/hu-hu/microsoft-365/education/deploy/create-your-office-365-tenant&lt;br /&gt;
&lt;br /&gt;
2. A https://portal.azure.com oldalon bejelentkezve, hozzunk létre 1-1 biztonsági csoportot a tanulók és a dolgozók részére. Jegyezzük fel a csoportok objektumazonosítóját&lt;br /&gt;
&lt;br /&gt;
3. Ahhoz, hogy a hub.eduid.hu szolgáltatás kezelni tudja a létrehozott tenant-ot, regisztráljunk egy új alkalmazást: https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/CreateApplicationBlade (ajánlott név: hub.eduid.hu)&lt;br /&gt;
Mentsük el a generált &amp;quot;Alkalmazás (ügyfél) azonosítója&amp;quot; értéket&lt;br /&gt;
&lt;br /&gt;
4. Az alkalmazáshoz készítsünk egy új titkos ügyfélkódot, majd a generálás végén mentsünk el a titkos ügyfélkód &amp;quot;Érték&amp;quot; mező értékét. [[Fájl:Tanúsítvány.png|right|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
5. A létrehozott alkalmazáshoz állítsuk be a szükséges jogosultságokat:&lt;br /&gt;
&lt;br /&gt;
[[Fájl:API engedélyek hozzáadása.png|right|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
* User.ReadWrite.All&lt;br /&gt;
* Group.ReadWrite.All&lt;br /&gt;
* Directory.ReadWrite.All&lt;br /&gt;
* GroupMember.ReadWrite.All&lt;br /&gt;
* MailboxSettings.Read&lt;br /&gt;
* MailboxSettings.ReadWrite&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Rendszergazda jogosultság megadása...&amp;quot; gombbal fogadjuk el az új beállításokat&lt;br /&gt;
&lt;br /&gt;
6. A SAML login bekapcsolásának egyelőre sajnos nincs webes beállítási lehetősége, a Microsoft-tól sem kaptunk ezügyben iránymutatást, ezért ezt PowerShell-en keresztül kell megtenni.&lt;br /&gt;
&lt;br /&gt;
'''Figyelem!''' Ha bekapcsoljuk a domain-ra a SAML alapú (Federated) bejelentkezést, akkor már csak azon keresztül lehet bejelentkezni az adott domainre, nincs lehetőség, vegyeshasználatra! Csak akkor hatjsuk végre a beállítást, ha rendben megtörtént a hub.eduid.hu és Microsoft közötti kapcsolat és megfelelően létrejöttek a felhasználók!&lt;br /&gt;
&lt;br /&gt;
Indítsunk egy PowerShell-t, majd adjuk ki a ''Connect-MsolService'' parancsot (ha nincs még feltelepítve, akkor a Install-Module MSOnline paranccsal lehet). Jelentkezzünk be adminisztrátori fiókunkkal.&lt;br /&gt;
[[Fájl:PowerShell.png|bélyegkép|jobbra]]&lt;br /&gt;
Állítsuk be az alábbi változókat:&lt;br /&gt;
&lt;br /&gt;
  $dom = _domain amire engedélyezzük a Federációs bejelentkezést_&lt;br /&gt;
  $BrandName = _intézmény neve_&lt;br /&gt;
  $LogOffUrl = _IdP kijelentkezési URL-je_ &lt;br /&gt;
  $ecpUrl = _IdP bejelentkezési URL-je_&lt;br /&gt;
  $MyURI = _IdP entity ID-ja_&lt;br /&gt;
  $MySigningCert = _IdP selfsigned tanúsítványa_&lt;br /&gt;
  $Protocol = &amp;quot;SAMLP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Példa:&lt;br /&gt;
&lt;br /&gt;
  $dom = &amp;quot;kifu.gov.hu&amp;quot; &lt;br /&gt;
  $BrandName = &amp;quot;Kormányzati Informatikai Fejlesztési Ügynökség&amp;quot; &lt;br /&gt;
  $LogOffUrl = &amp;quot;https://idp.niif.hu/simplesaml/saml2/idp/SingleLogoutService.php&amp;quot; &lt;br /&gt;
  $ecpUrl = &amp;quot;https://idp.niif.hu/simplesaml/saml2/idp/SSOService.php&amp;quot;&lt;br /&gt;
  $MyURI = &amp;quot;https://idp.niif.hu/shibboleth&amp;quot;&lt;br /&gt;
  $MySigningCert = &amp;quot;MIID3zCCAsegAwIBAgI......XEhu3Otgo=&amp;quot; &lt;br /&gt;
  $Protocol = &amp;quot;SAMLP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Majd futtassuk le:&lt;br /&gt;
&lt;br /&gt;
  Set-MsolDomainAuthentication -DomainName $dom -FederationBrandName $BrandName -Authentication Federated -PassiveLogOnUri $ecpUrl -ActiveLogOnUri $ecpUrl -SigningCertificate $MySigningCert -IssuerUri $MyURI -LogOffUri $LogOffUrl -PreferredAuthenticationProtocol $Protocol&lt;br /&gt;
&lt;br /&gt;
Ha nem ad vissza semmilyen hibaüzenetet, akkor az office.com -ra való bejelentkezéssel tudjuk tesztelni. Miután beírtuk az e-mail címet a bejelentkező ablakban, akkor át fog irányítani a böngésző az IdP-nkre.&lt;br /&gt;
&lt;br /&gt;
Bejelentkezési mód visszaállítása:&lt;br /&gt;
&lt;br /&gt;
  Set-MsolDomainAuthentication -DomainName $dom -Authentication Managed&lt;br /&gt;
&lt;br /&gt;
== Szükséges beállítások IdP oldalon ==&lt;br /&gt;
&lt;br /&gt;
A korábbiakhoz képest nincs változás. Leírása: [[O365_SAML|https://wiki.niif.hu/O365_SAML]]&lt;br /&gt;
&lt;br /&gt;
== Regisztrációja hub.eduid.hu szolgáltatásba ==&lt;br /&gt;
&lt;br /&gt;
Az alábbi paramétereket kell megküldeni:&lt;br /&gt;
* teantID (&amp;quot;Bérlő azonosítója&amp;quot;)&lt;br /&gt;
* domain nevek, ami alatt a felhasználókat létre kell hozni (&amp;quot;Egyéni tartománynevek&amp;quot;-nél felvett domain-ek, amiket kezelni kell)&lt;br /&gt;
* affiliation alapján melyik csoportokba helyezzük át a felhasználókat. Ehhez szükséges egy affiliation és groupID összerendelés (pl student-ek kerüljenek az XY csoportba)&lt;br /&gt;
* a létrehozott alkalmazáshoz tartozó &amp;quot;Alkalmazás (ügyfél) azonosítója&amp;quot; és a titkos ügyfélkód&lt;br /&gt;
* domain nevek, ami alatt a felhasználókat létre kell hozni&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5018</id>
		<title>Hub.eduid.hu</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5018"/>
				<updated>2023-09-19T13:04:00Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: /* Szükséges beállítások Microsoft oldalról */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az o365.eduid.hu címen működő szolgáltatás utódja.&lt;br /&gt;
&lt;br /&gt;
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)&lt;br /&gt;
&lt;br /&gt;
= Microsoft integráció =&lt;br /&gt;
&lt;br /&gt;
Microsoft Graph API-n keresztül létrehozza a felhasználót és affiliation (student, staff, member) alapján hozzárendeli csoportokhoz. A csoporthoz hozzá lehet rendelni licenszeket, illetve jogosultságokat, amit automatikusan megörököl a felhasználó&lt;br /&gt;
&lt;br /&gt;
Az o365.eduid.hu címen működő szolgáltatás utódja.&lt;br /&gt;
&lt;br /&gt;
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)&lt;br /&gt;
&lt;br /&gt;
== Szükséges beállítások Microsoft oldalról ==&lt;br /&gt;
&lt;br /&gt;
1. Készítsünk egy Office 365 tenant-ot, ha még nincs: https://learn.microsoft.com/hu-hu/microsoft-365/education/deploy/create-your-office-365-tenant&lt;br /&gt;
&lt;br /&gt;
2. A https://portal.azure.com oldalon bejelentkezve, hozzunk létre 1-1 biztonsági csoportot a tanulók és a dolgozók részére. Jegyezzük fel a csoportok objektumazonosítóját&lt;br /&gt;
&lt;br /&gt;
3. Ahhoz, hogy a hub.eduid.hu szolgáltatás kezelni tudja a létrehozott tenant-ot, regisztráljunk egy új alkalmazást: https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/CreateApplicationBlade (ajánlott név: hub.edu.hu)&lt;br /&gt;
Mentsük el a generált &amp;quot;Alkalmazás (ügyfél) azonosítója&amp;quot; értéket&lt;br /&gt;
&lt;br /&gt;
4. Az alkalmazáshoz készítsünk egy új titkos ügyfélkódot, majd a generálás végén mentsünk el a titkos ügyfélkód &amp;quot;Érték&amp;quot; mező értékét. [[Fájl:Tanúsítvány.png|right|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
5. A létrehozott alkalmazáshoz állítsuk be a szükséges jogosultságokat:&lt;br /&gt;
&lt;br /&gt;
[[Fájl:API engedélyek hozzáadása.png|right|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
* User.ReadWrite.All&lt;br /&gt;
* Group.ReadWrite.All&lt;br /&gt;
* Directory.ReadWrite.All&lt;br /&gt;
* GroupMember.ReadWrite.All&lt;br /&gt;
* MailboxSettings.Read&lt;br /&gt;
* MailboxSettings.ReadWrite&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Rendszergazda jogosultság megadása...&amp;quot; gombbal fogadjuk el az új beállításokat&lt;br /&gt;
&lt;br /&gt;
6. A SAML login bekapcsolásának egyelőre sajnos nincs webes beállítási lehetősége, a Microsoft-tól sem kaptunk ezügyben iránymutatást, ezért ezt PowerShell-en keresztül kell megtenni.&lt;br /&gt;
&lt;br /&gt;
'''Figyelem!''' Ha bekapcsoljuk a domain-ra a SAML alapú (Federated) bejelentkezést, akkor már csak azon keresztül lehet bejelentkezni az adott domainre, nincs lehetőség, vegyeshasználatra! Csak akkor hatjsuk végre a beállítást, ha rendben megtörtént a hub.edu.hu és Microsoft közötti kapcsolat és megfelelően létrejöttek a felhasználók!&lt;br /&gt;
&lt;br /&gt;
Indítsunk egy PowerShell-t, majd adjuk ki a ''Connect-MsolService'' parancsot (ha nincs még feltelepítve, akkor a Install-Module MSOnline paranccsal lehet). Jelentkezzünk be adminisztrátori fiókunkkal.&lt;br /&gt;
[[Fájl:PowerShell.png|bélyegkép|jobbra]]&lt;br /&gt;
Állítsuk be az alábbi változókat:&lt;br /&gt;
&lt;br /&gt;
  $dom = _domain amire engedélyezzük a Federációs bejelentkezést_&lt;br /&gt;
  $BrandName = _intézmény neve_&lt;br /&gt;
  $LogOffUrl = _IdP kijelentkezési URL-je_ &lt;br /&gt;
  $ecpUrl = _IdP bejelentkezési URL-je_&lt;br /&gt;
  $MyURI = _IdP entity ID-ja_&lt;br /&gt;
  $MySigningCert = _IdP selfsigned tanúsítványa_&lt;br /&gt;
  $Protocol = &amp;quot;SAMLP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Példa:&lt;br /&gt;
&lt;br /&gt;
  $dom = &amp;quot;kifu.gov.hu&amp;quot; &lt;br /&gt;
  $BrandName = &amp;quot;Kormányzati Informatikai Fejlesztési Ügynökség&amp;quot; &lt;br /&gt;
  $LogOffUrl = &amp;quot;https://idp.niif.hu/simplesaml/saml2/idp/SingleLogoutService.php&amp;quot; &lt;br /&gt;
  $ecpUrl = &amp;quot;https://idp.niif.hu/simplesaml/saml2/idp/SSOService.php&amp;quot;&lt;br /&gt;
  $MyURI = &amp;quot;https://idp.niif.hu/shibboleth&amp;quot;&lt;br /&gt;
  $MySigningCert = &amp;quot;MIID3zCCAsegAwIBAgI......XEhu3Otgo=&amp;quot; &lt;br /&gt;
  $Protocol = &amp;quot;SAMLP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Majd futtassuk le:&lt;br /&gt;
&lt;br /&gt;
  Set-MsolDomainAuthentication -DomainName $dom -FederationBrandName $BrandName -Authentication Federated -PassiveLogOnUri $ecpUrl -ActiveLogOnUri $ecpUrl -SigningCertificate $MySigningCert -IssuerUri $MyURI -LogOffUri $LogOffUrl -PreferredAuthenticationProtocol $Protocol&lt;br /&gt;
&lt;br /&gt;
Ha nem ad vissza semmilyen hibaüzenetet, akkor az office.com -ra való bejelentkezéssel tudjuk tesztelni. Miután beírtuk az e-mail címet a bejelentkező ablakban, akkor át fog irányítani a böngésző az IdP-nkre.&lt;br /&gt;
&lt;br /&gt;
Bejelentkezési mód visszaállítása:&lt;br /&gt;
&lt;br /&gt;
  Set-MsolDomainAuthentication -DomainName $dom -Authentication Managed&lt;br /&gt;
&lt;br /&gt;
== Szükséges beállítások IdP oldalon ==&lt;br /&gt;
&lt;br /&gt;
A korábbiakhoz képest nincs változás. Leírása: [[O365_SAML|https://wiki.niif.hu/O365_SAML]]&lt;br /&gt;
&lt;br /&gt;
== Regisztrációja hub.eduid.hu szolgáltatásba ==&lt;br /&gt;
&lt;br /&gt;
Az alábbi paramétereket kell megküldeni:&lt;br /&gt;
* teantID (&amp;quot;Bérlő azonosítója&amp;quot;)&lt;br /&gt;
* domain nevek, ami alatt a felhasználókat létre kell hozni (&amp;quot;Egyéni tartománynevek&amp;quot;-nél felvett domain-ek, amiket kezelni kell)&lt;br /&gt;
* affiliation alapján melyik csoportokba helyezzük át a felhasználókat. Ehhez szükséges egy affiliation és groupID összerendelés (pl student-ek kerüljenek az XY csoportba)&lt;br /&gt;
* a létrehozott alkalmazáshoz tartozó &amp;quot;Alkalmazás (ügyfél) azonosítója&amp;quot; és a titkos ügyfélkód&lt;br /&gt;
* domain nevek, ami alatt a felhasználókat létre kell hozni&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5017</id>
		<title>Hub.eduid.hu</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5017"/>
				<updated>2023-09-19T13:02:33Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: /* Regisztrációja hub.eduid.hu szolgáltatásba */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az o365.eduid.hu címen működő szolgáltatás utódja.&lt;br /&gt;
&lt;br /&gt;
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)&lt;br /&gt;
&lt;br /&gt;
= Microsoft integráció =&lt;br /&gt;
&lt;br /&gt;
Microsoft Graph API-n keresztül létrehozza a felhasználót és affiliation (student, staff, member) alapján hozzárendeli csoportokhoz. A csoporthoz hozzá lehet rendelni licenszeket, illetve jogosultságokat, amit automatikusan megörököl a felhasználó&lt;br /&gt;
&lt;br /&gt;
Az o365.eduid.hu címen működő szolgáltatás utódja.&lt;br /&gt;
&lt;br /&gt;
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)&lt;br /&gt;
&lt;br /&gt;
== Szükséges beállítások Microsoft oldalról ==&lt;br /&gt;
&lt;br /&gt;
1. Készítsünk egy Office 365 tenant-ot, ha még nincs: https://learn.microsoft.com/hu-hu/microsoft-365/education/deploy/create-your-office-365-tenant&lt;br /&gt;
&lt;br /&gt;
2. A https://portal.azure.com oldalon bejelentkezve, hozzunk létre 1-1 biztonsági csoportot a tanulók és a dolgozók részére. Jegyezzük fel a csoportok objektumazonosítóját&lt;br /&gt;
&lt;br /&gt;
3. Ahhoz, hogy a hub.eduid.hu szolgáltatás kezelni tudja a létrehozott tenant-ot, regisztráljunk egy új alkalmazást: https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/CreateApplicationBlade (ajánlott név: hub.edu.hu)&lt;br /&gt;
Mentsük el a generált &amp;quot;Alkalmazás (ügyfél) azonosítója&amp;quot; értéket&lt;br /&gt;
&lt;br /&gt;
4. Az alkalmazáshoz készítsünk egy új titkos ügyfélkódot, majd a generálás végén mentsünk el a titkos ügyfélkód &amp;quot;Érték&amp;quot; mező értékét. [[Fájl:Tanúsítvány.png|right|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
5. A létrehozott alkalmazáshoz állítsuk be a szükséges jogosultságokat:&lt;br /&gt;
&lt;br /&gt;
[[Fájl:API engedélyek hozzáadása.png|right|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
* User.ReadWrite.All&lt;br /&gt;
* Group.ReadWrite.All&lt;br /&gt;
* Directory.ReadWrite.All&lt;br /&gt;
* GroupMember.ReadWrite.All&lt;br /&gt;
* MailboxSettings.Read&lt;br /&gt;
* MailboxSettings.ReadWrite&lt;br /&gt;
&lt;br /&gt;
6. A SAML login bekapcsolásának egyelőre sajnos nincs webes beállítási lehetősége, a Microsoft-tól sem kaptunk ezügyben iránymutatást, ezért ezt PowerShell-en keresztül kell megtenni.&lt;br /&gt;
&lt;br /&gt;
'''Figyelem!''' Ha bekapcsoljuk a domain-ra a SAML alapú (Federated) bejelentkezést, akkor már csak azon keresztül lehet bejelentkezni az adott domainre, nincs lehetőség, vegyeshasználatra! Csak akkor hatjsuk végre a beállítást, ha rendben megtörtént a hub.edu.hu és Microsoft közötti kapcsolat és megfelelően létrejöttek a felhasználók!&lt;br /&gt;
&lt;br /&gt;
Indítsunk egy PowerShell-t, majd adjuk ki a ''Connect-MsolService'' parancsot (ha nincs még feltelepítve, akkor a Install-Module MSOnline paranccsal lehet). Jelentkezzünk be adminisztrátori fiókunkkal.&lt;br /&gt;
[[Fájl:PowerShell.png|bélyegkép|jobbra]]&lt;br /&gt;
Állítsuk be az alábbi változókat:&lt;br /&gt;
&lt;br /&gt;
  $dom = _domain amire engedélyezzük a Federációs bejelentkezést_&lt;br /&gt;
  $BrandName = _intézmény neve_&lt;br /&gt;
  $LogOffUrl = _IdP kijelentkezési URL-je_ &lt;br /&gt;
  $ecpUrl = _IdP bejelentkezési URL-je_&lt;br /&gt;
  $MyURI = _IdP entity ID-ja_&lt;br /&gt;
  $MySigningCert = _IdP selfsigned tanúsítványa_&lt;br /&gt;
  $Protocol = &amp;quot;SAMLP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Példa:&lt;br /&gt;
&lt;br /&gt;
  $dom = &amp;quot;kifu.gov.hu&amp;quot; &lt;br /&gt;
  $BrandName = &amp;quot;Kormányzati Informatikai Fejlesztési Ügynökség&amp;quot; &lt;br /&gt;
  $LogOffUrl = &amp;quot;https://idp.niif.hu/simplesaml/saml2/idp/SingleLogoutService.php&amp;quot; &lt;br /&gt;
  $ecpUrl = &amp;quot;https://idp.niif.hu/simplesaml/saml2/idp/SSOService.php&amp;quot;&lt;br /&gt;
  $MyURI = &amp;quot;https://idp.niif.hu/shibboleth&amp;quot;&lt;br /&gt;
  $MySigningCert = &amp;quot;MIID3zCCAsegAwIBAgI......XEhu3Otgo=&amp;quot; &lt;br /&gt;
  $Protocol = &amp;quot;SAMLP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Majd futtassuk le:&lt;br /&gt;
&lt;br /&gt;
  Set-MsolDomainAuthentication -DomainName $dom -FederationBrandName $BrandName -Authentication Federated -PassiveLogOnUri $ecpUrl -ActiveLogOnUri $ecpUrl -SigningCertificate $MySigningCert -IssuerUri $MyURI -LogOffUri $LogOffUrl -PreferredAuthenticationProtocol $Protocol&lt;br /&gt;
&lt;br /&gt;
Ha nem ad vissza semmilyen hibaüzenetet, akkor az office.com -ra való bejelentkezéssel tudjuk tesztelni. Miután beírtuk az e-mail címet a bejelentkező ablakban, akkor át fog irányítani a böngésző az IdP-nkre.&lt;br /&gt;
&lt;br /&gt;
Bejelentkezési mód visszaállítása:&lt;br /&gt;
&lt;br /&gt;
  Set-MsolDomainAuthentication -DomainName $dom -Authentication Managed&lt;br /&gt;
&lt;br /&gt;
== Szükséges beállítások IdP oldalon ==&lt;br /&gt;
&lt;br /&gt;
A korábbiakhoz képest nincs változás. Leírása: [[O365_SAML|https://wiki.niif.hu/O365_SAML]]&lt;br /&gt;
&lt;br /&gt;
== Regisztrációja hub.eduid.hu szolgáltatásba ==&lt;br /&gt;
&lt;br /&gt;
Az alábbi paramétereket kell megküldeni:&lt;br /&gt;
* teantID (&amp;quot;Bérlő azonosítója&amp;quot;)&lt;br /&gt;
* domain nevek, ami alatt a felhasználókat létre kell hozni (&amp;quot;Egyéni tartománynevek&amp;quot;-nél felvett domain-ek, amiket kezelni kell)&lt;br /&gt;
* affiliation alapján melyik csoportokba helyezzük át a felhasználókat. Ehhez szükséges egy affiliation és groupID összerendelés (pl student-ek kerüljenek az XY csoportba)&lt;br /&gt;
* a létrehozott alkalmazáshoz tartozó &amp;quot;Alkalmazás (ügyfél) azonosítója&amp;quot; és a titkos ügyfélkód&lt;br /&gt;
* domain nevek, ami alatt a felhasználókat létre kell hozni&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5016</id>
		<title>Hub.eduid.hu</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5016"/>
				<updated>2023-08-31T13:37:01Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az o365.eduid.hu címen működő szolgáltatás utódja.&lt;br /&gt;
&lt;br /&gt;
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)&lt;br /&gt;
&lt;br /&gt;
= Microsoft integráció =&lt;br /&gt;
&lt;br /&gt;
Microsoft Graph API-n keresztül létrehozza a felhasználót és affiliation (student, staff, member) alapján hozzárendeli csoportokhoz. A csoporthoz hozzá lehet rendelni licenszeket, illetve jogosultságokat, amit automatikusan megörököl a felhasználó&lt;br /&gt;
&lt;br /&gt;
Az o365.eduid.hu címen működő szolgáltatás utódja.&lt;br /&gt;
&lt;br /&gt;
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)&lt;br /&gt;
&lt;br /&gt;
== Szükséges beállítások Microsoft oldalról ==&lt;br /&gt;
&lt;br /&gt;
1. Készítsünk egy Office 365 tenant-ot, ha még nincs: https://learn.microsoft.com/hu-hu/microsoft-365/education/deploy/create-your-office-365-tenant&lt;br /&gt;
&lt;br /&gt;
2. A https://portal.azure.com oldalon bejelentkezve, hozzunk létre 1-1 biztonsági csoportot a tanulók és a dolgozók részére. Jegyezzük fel a csoportok objektumazonosítóját&lt;br /&gt;
&lt;br /&gt;
3. Ahhoz, hogy a hub.eduid.hu szolgáltatás kezelni tudja a létrehozott tenant-ot, regisztráljunk egy új alkalmazást: https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/CreateApplicationBlade (ajánlott név: hub.edu.hu)&lt;br /&gt;
Mentsük el a generált &amp;quot;Alkalmazás (ügyfél) azonosítója&amp;quot; értéket&lt;br /&gt;
&lt;br /&gt;
4. Az alkalmazáshoz készítsünk egy új titkos ügyfélkódot, majd a generálás végén mentsünk el a titkos ügyfélkód &amp;quot;Érték&amp;quot; mező értékét. [[Fájl:Tanúsítvány.png|right|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
5. A létrehozott alkalmazáshoz állítsuk be a szükséges jogosultságokat:&lt;br /&gt;
&lt;br /&gt;
[[Fájl:API engedélyek hozzáadása.png|right|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
* User.ReadWrite.All&lt;br /&gt;
* Group.ReadWrite.All&lt;br /&gt;
* Directory.ReadWrite.All&lt;br /&gt;
* GroupMember.ReadWrite.All&lt;br /&gt;
* MailboxSettings.Read&lt;br /&gt;
* MailboxSettings.ReadWrite&lt;br /&gt;
&lt;br /&gt;
6. A SAML login bekapcsolásának egyelőre sajnos nincs webes beállítási lehetősége, a Microsoft-tól sem kaptunk ezügyben iránymutatást, ezért ezt PowerShell-en keresztül kell megtenni.&lt;br /&gt;
&lt;br /&gt;
'''Figyelem!''' Ha bekapcsoljuk a domain-ra a SAML alapú (Federated) bejelentkezést, akkor már csak azon keresztül lehet bejelentkezni az adott domainre, nincs lehetőség, vegyeshasználatra! Csak akkor hatjsuk végre a beállítást, ha rendben megtörtént a hub.edu.hu és Microsoft közötti kapcsolat és megfelelően létrejöttek a felhasználók!&lt;br /&gt;
&lt;br /&gt;
Indítsunk egy PowerShell-t, majd adjuk ki a ''Connect-MsolService'' parancsot (ha nincs még feltelepítve, akkor a Install-Module MSOnline paranccsal lehet). Jelentkezzünk be adminisztrátori fiókunkkal.&lt;br /&gt;
[[Fájl:PowerShell.png|bélyegkép|jobbra]]&lt;br /&gt;
Állítsuk be az alábbi változókat:&lt;br /&gt;
&lt;br /&gt;
  $dom = _domain amire engedélyezzük a Federációs bejelentkezést_&lt;br /&gt;
  $BrandName = _intézmény neve_&lt;br /&gt;
  $LogOffUrl = _IdP kijelentkezési URL-je_ &lt;br /&gt;
  $ecpUrl = _IdP bejelentkezési URL-je_&lt;br /&gt;
  $MyURI = _IdP entity ID-ja_&lt;br /&gt;
  $MySigningCert = _IdP selfsigned tanúsítványa_&lt;br /&gt;
  $Protocol = &amp;quot;SAMLP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Példa:&lt;br /&gt;
&lt;br /&gt;
  $dom = &amp;quot;kifu.gov.hu&amp;quot; &lt;br /&gt;
  $BrandName = &amp;quot;Kormányzati Informatikai Fejlesztési Ügynökség&amp;quot; &lt;br /&gt;
  $LogOffUrl = &amp;quot;https://idp.niif.hu/simplesaml/saml2/idp/SingleLogoutService.php&amp;quot; &lt;br /&gt;
  $ecpUrl = &amp;quot;https://idp.niif.hu/simplesaml/saml2/idp/SSOService.php&amp;quot;&lt;br /&gt;
  $MyURI = &amp;quot;https://idp.niif.hu/shibboleth&amp;quot;&lt;br /&gt;
  $MySigningCert = &amp;quot;MIID3zCCAsegAwIBAgI......XEhu3Otgo=&amp;quot; &lt;br /&gt;
  $Protocol = &amp;quot;SAMLP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Majd futtassuk le:&lt;br /&gt;
&lt;br /&gt;
  Set-MsolDomainAuthentication -DomainName $dom -FederationBrandName $BrandName -Authentication Federated -PassiveLogOnUri $ecpUrl -ActiveLogOnUri $ecpUrl -SigningCertificate $MySigningCert -IssuerUri $MyURI -LogOffUri $LogOffUrl -PreferredAuthenticationProtocol $Protocol&lt;br /&gt;
&lt;br /&gt;
Ha nem ad vissza semmilyen hibaüzenetet, akkor az office.com -ra való bejelentkezéssel tudjuk tesztelni. Miután beírtuk az e-mail címet a bejelentkező ablakban, akkor át fog irányítani a böngésző az IdP-nkre.&lt;br /&gt;
&lt;br /&gt;
Bejelentkezési mód visszaállítása:&lt;br /&gt;
&lt;br /&gt;
  Set-MsolDomainAuthentication -DomainName $dom -Authentication Managed&lt;br /&gt;
&lt;br /&gt;
== Szükséges beállítások IdP oldalon ==&lt;br /&gt;
&lt;br /&gt;
A korábbiakhoz képest nincs változás. Leírása: [[O365_SAML|https://wiki.niif.hu/O365_SAML]]&lt;br /&gt;
&lt;br /&gt;
== Regisztrációja hub.eduid.hu szolgáltatásba ==&lt;br /&gt;
&lt;br /&gt;
Az alábbi paramétereket kell megküldeni:&lt;br /&gt;
* teantID (&amp;quot;Bérlő azonosítója&amp;quot;)&lt;br /&gt;
* domain nevek, ami alatt a felhasználókat létre kell hozni (&amp;quot;Egyéni tartománynevek&amp;quot;-nél felvett domain-ek, amiket kezelni kell)&lt;br /&gt;
* affiliation alapján melyik csoportokba helyezzük át a felhasználókat. Ehhez szükséges egy affiliation és groupID összerendelés (pl student-ek kerüljenek az XY csoportba)&lt;br /&gt;
* a létrehozott alkalmazáshoz tartozó &amp;quot;Alkalmazás (ügyfél) azonosítója&amp;quot; és a titkos ügyfélkód&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=F%C3%A1jl:PowerShell.png&amp;diff=5015</id>
		<title>Fájl:PowerShell.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=F%C3%A1jl:PowerShell.png&amp;diff=5015"/>
				<updated>2023-08-31T13:36:31Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PowerShell&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5014</id>
		<title>Hub.eduid.hu</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5014"/>
				<updated>2023-08-31T13:34:48Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az o365.eduid.hu címen működő szolgáltatás utódja.&lt;br /&gt;
&lt;br /&gt;
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)&lt;br /&gt;
&lt;br /&gt;
= Microsoft integráció =&lt;br /&gt;
&lt;br /&gt;
Microsoft Graph API-n keresztül létrehozza a felhasználót és affiliation (student, staff, member) alapján hozzárendeli csoportokhoz. A csoporthoz hozzá lehet rendelni licenszeket, illetve jogosultságokat, amit automatikusan megörököl a felhasználó&lt;br /&gt;
&lt;br /&gt;
Az o365.eduid.hu címen működő szolgáltatás utódja.&lt;br /&gt;
&lt;br /&gt;
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)&lt;br /&gt;
&lt;br /&gt;
== Szükséges beállítások Microsoft oldalról ==&lt;br /&gt;
&lt;br /&gt;
1. Készítsünk egy Office 365 tenant-ot, ha még nincs: https://learn.microsoft.com/hu-hu/microsoft-365/education/deploy/create-your-office-365-tenant&lt;br /&gt;
&lt;br /&gt;
2. A https://portal.azure.com oldalon bejelentkezve, hozzunk létre 1-1 biztonsági csoportot a tanulók és a dolgozók részére. Jegyezzük fel a csoportok objektumazonosítóját&lt;br /&gt;
&lt;br /&gt;
3. Ahhoz, hogy a hub.eduid.hu szolgáltatás kezelni tudja a létrehozott tenant-ot, regisztráljunk egy új alkalmazást: https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/CreateApplicationBlade (ajánlott név: hub.edu.hu)&lt;br /&gt;
Mentsük el a generált &amp;quot;Alkalmazás (ügyfél) azonosítója&amp;quot; értéket&lt;br /&gt;
&lt;br /&gt;
4. Az alkalmazáshoz készítsünk egy új titkos ügyfélkódot, majd a generálás végén mentsünk el a titkos ügyfélkód &amp;quot;Érték&amp;quot; mező értékét. [[Fájl:Tanúsítvány.png|right|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
5. A létrehozott alkalmazáshoz állítsuk be a szükséges jogosultságokat:&lt;br /&gt;
&lt;br /&gt;
[[Fájl:API engedélyek hozzáadása.png|right|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
* User.ReadWrite.All&lt;br /&gt;
* Group.ReadWrite.All&lt;br /&gt;
* Directory.ReadWrite.All&lt;br /&gt;
* GroupMember.ReadWrite.All&lt;br /&gt;
* MailboxSettings.Read&lt;br /&gt;
* MailboxSettings.ReadWrite&lt;br /&gt;
&lt;br /&gt;
6. A SAML login bekapcsolásának egyelőre sajnos nincs webes beállítási lehetősége, a Microsoft-tól sem kaptunk ezügyben iránymutatást, ezért ezt PowerShell-en keresztül kell megtenni.&lt;br /&gt;
&lt;br /&gt;
'''Figyelem!''' Ha bekapcsoljuk a domain-ra a SAML alapú (Federated) bejelentkezést, akkor már csak azon keresztül lehet bejelentkezni az adott domainre, nincs lehetőség, vegyeshasználatra! Csak akkor hatjsuk végre a beállítást, ha rendben megtörtént a hub.edu.hu és Microsoft közötti kapcsolat és megfelelően létrejöttek a felhasználók!&lt;br /&gt;
&lt;br /&gt;
Indítsunk egy PowerShell-t, majd adjuk ki a ''Connect-MsolService'' parancsot (ha nincs még feltelepítve, akkor a Install-Module MSOnline paranccsal lehet). Jelentkezzünk be adminisztrátori fiókunkkal.&lt;br /&gt;
&lt;br /&gt;
Állítsuk be az alábbi változókat:&lt;br /&gt;
&lt;br /&gt;
  $dom = _domain amire engedélyezzük a Federációs bejelentkezést_&lt;br /&gt;
  $BrandName = _intézmény neve_&lt;br /&gt;
  $LogOffUrl = _IdP kijelentkezési URL-je_ &lt;br /&gt;
  $ecpUrl = _IdP bejelentkezési URL-je_&lt;br /&gt;
  $MyURI = _IdP entity ID-ja_&lt;br /&gt;
  $MySigningCert = _IdP selfsigned tanúsítványa_&lt;br /&gt;
  $Protocol = &amp;quot;SAMLP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Példa:&lt;br /&gt;
&lt;br /&gt;
  $dom = &amp;quot;kifu.gov.hu&amp;quot; &lt;br /&gt;
  $BrandName = &amp;quot;Kormányzati Informatikai Fejlesztési Ügynökség&amp;quot; &lt;br /&gt;
  $LogOffUrl = &amp;quot;https://idp.niif.hu/simplesaml/saml2/idp/SingleLogoutService.php&amp;quot; &lt;br /&gt;
  $ecpUrl = &amp;quot;https://idp.niif.hu/simplesaml/saml2/idp/SSOService.php&amp;quot;&lt;br /&gt;
  $MyURI = &amp;quot;https://idp.niif.hu/shibboleth&amp;quot;&lt;br /&gt;
  $MySigningCert = &amp;quot;MIID3zCCAsegAwIBAgI......XEhu3Otgo=&amp;quot; &lt;br /&gt;
  $Protocol = &amp;quot;SAMLP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Majd futtassuk le:&lt;br /&gt;
&lt;br /&gt;
  Set-MsolDomainAuthentication -DomainName $dom -FederationBrandName $BrandName -Authentication Federated -PassiveLogOnUri $ecpUrl -ActiveLogOnUri $ecpUrl -SigningCertificate $MySigningCert -IssuerUri $MyURI -LogOffUri $LogOffUrl -PreferredAuthenticationProtocol $Protocol&lt;br /&gt;
&lt;br /&gt;
Ha nem ad vissza semmilyen hibaüzenetet, akkor az office.com -ra való bejelentkezéssel tudjuk tesztelni. Miután beírtuk az e-mail címet a bejelentkező ablakban, akkor át fog irányítani a böngésző az IdP-nkre.&lt;br /&gt;
&lt;br /&gt;
Bejelentkezési mód visszaállítása:&lt;br /&gt;
&lt;br /&gt;
  Set-MsolDomainAuthentication -DomainName $dom -Authentication Managed&lt;br /&gt;
&lt;br /&gt;
== Szükséges beállítások IdP oldalon ==&lt;br /&gt;
&lt;br /&gt;
A korábbiakhoz képest nincs változás. Leírása: [[O365_SAML|https://wiki.niif.hu/O365_SAML]]&lt;br /&gt;
&lt;br /&gt;
== Regisztrációja hub.eduid.hu szolgáltatásba ==&lt;br /&gt;
&lt;br /&gt;
Az alábbi paramétereket kell megküldeni:&lt;br /&gt;
* teantID (&amp;quot;Bérlő azonosítója&amp;quot;)&lt;br /&gt;
* domain nevek, ami alatt a felhasználókat létre kell hozni (&amp;quot;Egyéni tartománynevek&amp;quot;-nél felvett domain-ek, amiket kezelni kell)&lt;br /&gt;
* affiliation alapján melyik csoportokba helyezzük át a felhasználókat. Ehhez szükséges egy affiliation és groupID összerendelés (pl student-ek kerüljenek az XY csoportba)&lt;br /&gt;
* a létrehozott alkalmazáshoz tartozó &amp;quot;Alkalmazás (ügyfél) azonosítója&amp;quot; és a titkos ügyfélkód&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5013</id>
		<title>Hub.eduid.hu</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5013"/>
				<updated>2023-08-31T13:25:26Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az o365.eduid.hu címen működő szolgáltatás utódja.&lt;br /&gt;
&lt;br /&gt;
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)&lt;br /&gt;
&lt;br /&gt;
= Microsoft integráció =&lt;br /&gt;
&lt;br /&gt;
Microsoft Graph API-n keresztül létrehozza a felhasználót és affiliation (student, staff, member) alapján hozzárendeli csoportokhoz. A csoporthoz hozzá lehet rendelni licenszeket, illetve jogosultságokat, amit automatikusan megörököl a felhasználó&lt;br /&gt;
&lt;br /&gt;
Az o365.eduid.hu címen működő szolgáltatás utódja.&lt;br /&gt;
&lt;br /&gt;
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)&lt;br /&gt;
&lt;br /&gt;
== Szükséges beállítások Microsoft oldalról ==&lt;br /&gt;
&lt;br /&gt;
1. Készítsünk egy Office 365 tenant-ot, ha még nincs: https://learn.microsoft.com/hu-hu/microsoft-365/education/deploy/create-your-office-365-tenant&lt;br /&gt;
&lt;br /&gt;
2. A https://portal.azure.com oldalon bejelentkezve, hozzunk létre 1-1 biztonsági csoportot a tanulók és a dolgozók részére. Jegyezzük fel a csoportok objektumazonosítóját&lt;br /&gt;
&lt;br /&gt;
3. Ahhoz, hogy a hub.eduid.hu szolgáltatás kezelni tudja a létrehozott tenant-ot, regisztráljunk egy új alkalmazást: https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/CreateApplicationBlade (ajánlott név: hub.edu.hu)&lt;br /&gt;
Mentsük el a generált &amp;quot;Alkalmazás (ügyfél) azonosítója&amp;quot; értéket&lt;br /&gt;
&lt;br /&gt;
4. Az alkalmazáshoz készítsünk egy új titkos ügyfélkódot, majd a generálás végén mentsünk el a titkos ügyfélkód &amp;quot;Érték&amp;quot; mező értékét. [[Fájl:Tanúsítvány.png|right|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
5. A létrehozott alkalmazáshoz állítsuk be a szükséges jogosultságokat:&lt;br /&gt;
&lt;br /&gt;
[[Fájl:API engedélyek hozzáadása.png|right|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
  * User.ReadWrite.All&lt;br /&gt;
  * Group.ReadWrite.All&lt;br /&gt;
  * Directory.ReadWrite.All&lt;br /&gt;
  * GroupMember.ReadWrite.All&lt;br /&gt;
  * MailboxSettings.Read&lt;br /&gt;
  * MailboxSettings.ReadWrite&lt;br /&gt;
&lt;br /&gt;
6. A SAML login bekapcsolásának egyelőre sajnos nincs webes beállítási lehetősége, a Microsoft-tól sem kaptunk ezügyben iránymutatást, ezért ezt PowerShell-en keresztül kell megtenni.&lt;br /&gt;
&lt;br /&gt;
'''Figyelem!''' Ha bekapcsoljuk a domain-ra a SAML alapú (Federated) bejelentkezést, akkor már csak azon keresztül lehet bejelentkezni az adott domainre, nincs lehetőség, vegyeshasználatra! Csak akkor hatjsuk végre a beállítást, ha rendben megtörtént a hub.edu.hu és Microsoft közötti kapcsolat és megfelelően létrejöttek a felhasználók!&lt;br /&gt;
&lt;br /&gt;
Indítsunk egy PowerShell-t, majd adjuk ki a ''Connect-MsolService'' parancsot (ha nincs még feltelepítve, akkor a Install-Module MSOnline paranccsal lehet). Jelentkezzünk be adminisztrátori fiókunkkal.&lt;br /&gt;
&lt;br /&gt;
Állítsuk be az alábbi változókat:&lt;br /&gt;
&lt;br /&gt;
  $dom = _domain amire engedélyezzük a Federációs bejelentkezést_&lt;br /&gt;
  $BrandName = _intézmény neve_&lt;br /&gt;
  $LogOffUrl = _IdP kijelentkezési URL-je_ &lt;br /&gt;
  $ecpUrl = _IdP bejelentkezési URL-je_&lt;br /&gt;
  $MyURI = _IdP entity ID-ja_&lt;br /&gt;
  $MySigningCert = _IdP selfsigned tanúsítványa_&lt;br /&gt;
  $Protocol = &amp;quot;SAMLP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Példa:&lt;br /&gt;
&lt;br /&gt;
  $dom = &amp;quot;kifu.gov.hu&amp;quot; &lt;br /&gt;
  $BrandName = &amp;quot;Kormányzati Informatikai Fejlesztési Ügynökség&amp;quot; &lt;br /&gt;
  $LogOffUrl = &amp;quot;https://idp.niif.hu/simplesaml/saml2/idp/SingleLogoutService.php&amp;quot; &lt;br /&gt;
  $ecpUrl = &amp;quot;https://idp.niif.hu/simplesaml/saml2/idp/SSOService.php&amp;quot;&lt;br /&gt;
  $MyURI = &amp;quot;https://idp.niif.hu/shibboleth&amp;quot;&lt;br /&gt;
  $MySigningCert = &amp;quot;MIID3zCCAsegAwIBAgI......XEhu3Otgo=&amp;quot; &lt;br /&gt;
  $Protocol = &amp;quot;SAMLP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Majd futtassuk le:&lt;br /&gt;
&lt;br /&gt;
  Set-MsolDomainAuthentication -DomainName $dom -FederationBrandName $BrandName -Authentication Federated -PassiveLogOnUri $ecpUrl -ActiveLogOnUri $ecpUrl -SigningCertificate $MySigningCert -IssuerUri $MyURI -LogOffUri $LogOffUrl -PreferredAuthenticationProtocol $Protocol&lt;br /&gt;
&lt;br /&gt;
Ha nem ad vissza semmilyen hibaüzenetet, akkor az office.com -ra való bejelentkezéssel tudjuk tesztelni. Miután beírtuk az e-mail címet a bejelentkező ablakban, akkor át fog irányítani a böngésző az IdP-nkre.&lt;br /&gt;
&lt;br /&gt;
Bejelentkezési mód visszaállítása:&lt;br /&gt;
&lt;br /&gt;
  Set-MsolDomainAuthentication -DomainName $dom -Authentication Managed&lt;br /&gt;
&lt;br /&gt;
== Szükséges beállítások IdP oldalon ==&lt;br /&gt;
&lt;br /&gt;
A korábbiakhoz képest nincs változás. Leírása: [[O365_SAML|https://wiki.niif.hu/O365_SAML]]&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5012</id>
		<title>Hub.eduid.hu</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5012"/>
				<updated>2023-08-31T13:22:25Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az o365.eduid.hu címen működő szolgáltatás utódja.&lt;br /&gt;
&lt;br /&gt;
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)&lt;br /&gt;
&lt;br /&gt;
= Microsoft integráció =&lt;br /&gt;
&lt;br /&gt;
Microsoft Graph API-n keresztül létrehozza a felhasználót és affiliation (student, staff, member) alapján hozzárendeli csoportokhoz. A csoporthoz hozzá lehet rendelni licenszeket, illetve jogosultságokat, amit automatikusan megörököl a felhasználó&lt;br /&gt;
&lt;br /&gt;
Az o365.eduid.hu címen működő szolgáltatás utódja.&lt;br /&gt;
&lt;br /&gt;
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)&lt;br /&gt;
&lt;br /&gt;
= Microsoft integráció =&lt;br /&gt;
&lt;br /&gt;
Microsoft Graph API-n keresztül létrehozza a felhasználót és affiliation (student, staff, member) alapján hozzárendeli csoportokhoz. A csoporthoz hozzá lehet rendelni licenszeket, illetve jogosultságokat, amit automatikusan megörököl a felhasználó&lt;br /&gt;
&lt;br /&gt;
== Szükséges beállítások Microsoft oldalról ==&lt;br /&gt;
&lt;br /&gt;
1. Készítsünk egy Office 365 tenant-ot, ha még nincs: https://learn.microsoft.com/hu-hu/microsoft-365/education/deploy/create-your-office-365-tenant&lt;br /&gt;
&lt;br /&gt;
2. A https://portal.azure.com oldalon bejelentkezve, hozzunk létre 1-1 biztonsági csoportot a tanulók és a dolgozók részére. Jegyezzük fel a csoportok objektumazonosítóját&lt;br /&gt;
&lt;br /&gt;
3. Ahhoz, hogy a hub.eduid.hu szolgáltatás kezelni tudja a létrehozott tenant-ot, regisztráljunk egy új alkalmazást: https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/CreateApplicationBlade (ajánlott név: hub.edu.hu)&lt;br /&gt;
Mentsük el a generált &amp;quot;Alkalmazás (ügyfél) azonosítója&amp;quot; értéket&lt;br /&gt;
&lt;br /&gt;
4. Az alkalmazáshoz készítsünk egy új titkos ügyfélkódot, majd a generálás végén mentsünk el a titkos ügyfélkód &amp;quot;Érték&amp;quot; mező értékét. [[Fájl:Tanúsítvány.png|right|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
5. A létrehozott alkalmazáshoz állítsuk be a szükséges jogosultságokat:&lt;br /&gt;
&lt;br /&gt;
[[Fájl:API engedélyek hozzáadása.png|right|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
  * User.ReadWrite.All&lt;br /&gt;
  * Group.ReadWrite.All&lt;br /&gt;
  * Directory.ReadWrite.All&lt;br /&gt;
  * GroupMember.ReadWrite.All&lt;br /&gt;
  * MailboxSettings.Read&lt;br /&gt;
  * MailboxSettings.ReadWrite&lt;br /&gt;
&lt;br /&gt;
6. A SAML login bekapcsolásának egyelőre sajnos nincs webes beállítási lehetősége, a Microsoft-tól sem kaptunk ezügyben iránymutatást, ezért ezt PowerShell-en keresztül kell megtenni.&lt;br /&gt;
&lt;br /&gt;
'''Figyelem!''' Ha bekapcsoljuk a domain-ra a SAML alapú (Federated) bejelentkezést, akkor már csak azon keresztül lehet bejelentkezni az adott domainre, nincs lehetőség, vegyeshasználatra! Csak akkor hatjsuk végre a beállítást, ha rendben megtörtént a hub.edu.hu és Microsoft közötti kapcsolat és megfelelően létrejöttek a felhasználók!&lt;br /&gt;
&lt;br /&gt;
Indítsunk egy PowerShell-t, majd adjuk ki a ''Connect-MsolService'' parancsot (ha nincs még feltelepítve, akkor a Install-Module MSOnline paranccsal lehet). Jelentkezzünk be adminisztrátori fiókunkkal.&lt;br /&gt;
&lt;br /&gt;
Állítsuk be az alábbi változókat:&lt;br /&gt;
&lt;br /&gt;
  $dom = _domain amire engedélyezzük a Federációs bejelentkezést_&lt;br /&gt;
  $BrandName = _intézmény neve_&lt;br /&gt;
  $LogOffUrl = _IdP kijelentkezési URL-je_ &lt;br /&gt;
  $ecpUrl = _IdP bejelentkezési URL-je_&lt;br /&gt;
  $MyURI = _IdP entity ID-ja_&lt;br /&gt;
  $MySigningCert = _IdP selfsigned tanúsítványa_&lt;br /&gt;
  $Protocol = &amp;quot;SAMLP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Példa:&lt;br /&gt;
&lt;br /&gt;
  $dom = &amp;quot;kifu.gov.hu&amp;quot; &lt;br /&gt;
  $BrandName = &amp;quot;Kormányzati Informatikai Fejlesztési Ügynökség&amp;quot; &lt;br /&gt;
  $LogOffUrl = &amp;quot;https://idp.niif.hu/simplesaml/saml2/idp/SingleLogoutService.php&amp;quot; &lt;br /&gt;
  $ecpUrl = &amp;quot;https://idp.niif.hu/simplesaml/saml2/idp/SSOService.php&amp;quot;&lt;br /&gt;
  $MyURI = &amp;quot;https://idp.niif.hu/shibboleth&amp;quot;&lt;br /&gt;
  $MySigningCert = &amp;quot;MIID3zCCAsegAwIBAgI......XEhu3Otgo=&amp;quot; &lt;br /&gt;
  $Protocol = &amp;quot;SAMLP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Majd futtassuk le:&lt;br /&gt;
&lt;br /&gt;
  Set-MsolDomainAuthentication -DomainName $dom -FederationBrandName $BrandName -Authentication Federated -PassiveLogOnUri $ecpUrl -ActiveLogOnUri $ecpUrl -SigningCertificate $MySigningCert -IssuerUri $MyURI -LogOffUri $LogOffUrl -PreferredAuthenticationProtocol $Protocol&lt;br /&gt;
&lt;br /&gt;
Ha nem ad vissza semmilyen hibaüzenetet, akkor az office.com -ra való bejelentkezéssel tudjuk tesztelni. Miután beírtuk az e-mail címet a bejelentkező ablakban, akkor át fog irányítani a böngésző az IdP-nkre.&lt;br /&gt;
&lt;br /&gt;
Bejelentkezési mód visszaállítása:&lt;br /&gt;
&lt;br /&gt;
  Set-MsolDomainAuthentication -DomainName $dom -Authentication Managed&lt;br /&gt;
&lt;br /&gt;
== Szükséges beállítások IdP oldalon ==&lt;br /&gt;
&lt;br /&gt;
A korábbiakhoz képest nincs változás. Leírása: [[O365_SAML|https://wiki.niif.hu/O365_SAML]]&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5011</id>
		<title>Hub.eduid.hu</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5011"/>
				<updated>2023-08-31T13:18:28Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: /* Szükséges feltételek Microsoft oldalról */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az o365.eduid.hu címen működő szolgáltatás utódja.&lt;br /&gt;
&lt;br /&gt;
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)&lt;br /&gt;
&lt;br /&gt;
= Microsoft integráció =&lt;br /&gt;
&lt;br /&gt;
Microsoft Graph API-n keresztül létrehozza a felhasználót és affiliation (student, staff, member) alapján hozzárendeli csoportokhoz. A csoporthoz hozzá lehet rendelni licenszeket, illetve jogosultságokat, amit automatikusan megörököl a felhasználó&lt;br /&gt;
&lt;br /&gt;
Az o365.eduid.hu címen működő szolgáltatás utódja.&lt;br /&gt;
&lt;br /&gt;
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)&lt;br /&gt;
&lt;br /&gt;
= Microsoft integráció =&lt;br /&gt;
&lt;br /&gt;
Microsoft Graph API-n keresztül létrehozza a felhasználót és affiliation (student, staff, member) alapján hozzárendeli csoportokhoz. A csoporthoz hozzá lehet rendelni licenszeket, illetve jogosultságokat, amit automatikusan megörököl a felhasználó&lt;br /&gt;
&lt;br /&gt;
== Szükséges feltételek Microsoft oldalról ==&lt;br /&gt;
&lt;br /&gt;
1. Készítsünk egy Office 365 tenant-ot, ha még nincs: https://learn.microsoft.com/hu-hu/microsoft-365/education/deploy/create-your-office-365-tenant&lt;br /&gt;
&lt;br /&gt;
2. A https://portal.azure.com oldalon bejelentkezve, hozzunk létre 1-1 biztonsági csoportot a tanulók és a dolgozók részére. Jegyezzük fel a csoportok objektumazonosítóját&lt;br /&gt;
&lt;br /&gt;
3. Ahhoz, hogy a hub.eduid.hu szolgáltatás kezelni tudja a létrehozott tenant-ot, regisztráljunk egy új alkalmazást: https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/CreateApplicationBlade (ajánlott név: hub.edu.hu)&lt;br /&gt;
Mentsük el a generált &amp;quot;Alkalmazás (ügyfél) azonosítója&amp;quot; értéket&lt;br /&gt;
&lt;br /&gt;
4. Az alkalmazáshoz készítsünk egy új titkos ügyfélkódot, majd a generálás végén mentsünk el a titkos ügyfélkód &amp;quot;Érték&amp;quot; mező értékét. [[Fájl:Tanúsítvány.png|right|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
5. A létrehozott alkalmazáshoz állítsuk be a szükséges jogosultságokat:&lt;br /&gt;
&lt;br /&gt;
[[Fájl:API engedélyek hozzáadása.png|right|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
  * User.ReadWrite.All&lt;br /&gt;
  * Group.ReadWrite.All&lt;br /&gt;
  * Directory.ReadWrite.All&lt;br /&gt;
  * GroupMember.ReadWrite.All&lt;br /&gt;
  * MailboxSettings.Read&lt;br /&gt;
  * MailboxSettings.ReadWrite&lt;br /&gt;
&lt;br /&gt;
6. A SAML login bekapcsolásának egyelőre sajnos nincs webes beállítási lehetősége, a Microsoft-tól sem kaptunk ezügyben iránymutatást, ezért ezt PowerShell-en keresztül kell megtenni.&lt;br /&gt;
&lt;br /&gt;
'''Figyelem!''' Ha bekapcsoljuk a domain-ra a SAML alapú (Federated) bejelentkezést, akkor már csak azon keresztül lehet bejelentkezni az adott domainre, nincs lehetőség, vegyeshasználatra! Csak akkor hatjsuk végre a beállítást, ha rendben megtörtént a hub.edu.hu és Microsoft közötti kapcsolat és megfelelően létrejöttek a felhasználók!&lt;br /&gt;
&lt;br /&gt;
Indítsunk egy PowerShell-t, majd adjuk ki a ''Connect-MsolService'' parancsot (ha nincs még feltelepítve, akkor a Install-Module MSOnline paranccsal lehet). Jelentkezzünk be adminisztrátori fiókunkkal.&lt;br /&gt;
&lt;br /&gt;
Állítsuk be az alábbi változókat:&lt;br /&gt;
&lt;br /&gt;
  $dom = _domain amire engedélyezzük a Federációs bejelentkezést_&lt;br /&gt;
  $BrandName = _intézmény neve_&lt;br /&gt;
  $LogOffUrl = _IdP kijelentkezési URL-je_ &lt;br /&gt;
  $ecpUrl = _IdP bejelentkezési URL-je_&lt;br /&gt;
  $MyURI = _IdP entity ID-ja_&lt;br /&gt;
  $MySigningCert = _IdP selfsigned tanúsítványa_&lt;br /&gt;
  $Protocol = &amp;quot;SAMLP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Példa:&lt;br /&gt;
&lt;br /&gt;
  $dom = &amp;quot;kifu.gov.hu&amp;quot; &lt;br /&gt;
  $BrandName = &amp;quot;Kormányzati Informatikai Fejlesztési Ügynökség&amp;quot; &lt;br /&gt;
  $LogOffUrl = &amp;quot;https://idp.niif.hu/simplesaml/saml2/idp/SingleLogoutService.php&amp;quot; &lt;br /&gt;
  $ecpUrl = &amp;quot;https://idp.niif.hu/simplesaml/saml2/idp/SSOService.php&amp;quot;&lt;br /&gt;
  $MyURI = &amp;quot;https://idp.niif.hu/shibboleth&amp;quot;&lt;br /&gt;
  $MySigningCert = &amp;quot;MIID3zCCAsegAwIBAgI......XEhu3Otgo=&amp;quot; &lt;br /&gt;
  $Protocol = &amp;quot;SAMLP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Majd futtassuk le:&lt;br /&gt;
&lt;br /&gt;
  Set-MsolDomainAuthentication -DomainName $dom -FederationBrandName $BrandName -Authentication Federated -PassiveLogOnUri $ecpUrl -ActiveLogOnUri $ecpUrl -SigningCertificate $MySigningCert -IssuerUri $MyURI -LogOffUri $LogOffUrl -PreferredAuthenticationProtocol $Protocol&lt;br /&gt;
&lt;br /&gt;
Ha nem ad vissza semmilyen hibaüzenetet, akkor az office.com -ra való bejelentkezéssel tudjuk tesztelni. Miután beírtuk az e-mail címet a bejelentkező ablakban, akkor át fog irányítani a böngésző az IdP-nkre.&lt;br /&gt;
&lt;br /&gt;
Bejelentkezési mód visszaállítása:&lt;br /&gt;
&lt;br /&gt;
  Set-MsolDomainAuthentication -DomainName $dom -Authentication Managed&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5010</id>
		<title>Hub.eduid.hu</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5010"/>
				<updated>2023-08-23T17:22:16Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: /* Szükséges feltételek Microsoft oldalról */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az o365.eduid.hu címen működő szolgáltatás utódja.&lt;br /&gt;
&lt;br /&gt;
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)&lt;br /&gt;
&lt;br /&gt;
= Microsoft integráció =&lt;br /&gt;
&lt;br /&gt;
Microsoft Graph API-n keresztül létrehozza a felhasználót és affiliation (student, staff, member) alapján hozzárendeli csoportokhoz. A csoporthoz hozzá lehet rendelni licenszeket, illetve jogosultságokat, amit automatikusan megörököl a felhasználó&lt;br /&gt;
&lt;br /&gt;
Az o365.eduid.hu címen működő szolgáltatás utódja.&lt;br /&gt;
&lt;br /&gt;
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)&lt;br /&gt;
&lt;br /&gt;
= Microsoft integráció =&lt;br /&gt;
&lt;br /&gt;
Microsoft Graph API-n keresztül létrehozza a felhasználót és affiliation (student, staff, member) alapján hozzárendeli csoportokhoz. A csoporthoz hozzá lehet rendelni licenszeket, illetve jogosultságokat, amit automatikusan megörököl a felhasználó&lt;br /&gt;
&lt;br /&gt;
== Szükséges feltételek Microsoft oldalról ==&lt;br /&gt;
&lt;br /&gt;
1. Készítsünk egy Office 365 tenant-ot, ha még nincs: https://learn.microsoft.com/hu-hu/microsoft-365/education/deploy/create-your-office-365-tenant&lt;br /&gt;
&lt;br /&gt;
2. A https://portal.azure.com oldalon bejelentkezve, hozzunk létre 1-1 biztonsági csoportot a tanulók és a dolgozók részére. Jegyezzük fel a csoportok objektumazonosítóját&lt;br /&gt;
&lt;br /&gt;
3. Ahhoz, hogy a hub.eduid.hu szolgáltatás kezelni tudja a létrehozott tenant-ot, regisztráljunk egy új alkalmazást: https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/CreateApplicationBlade (ajánlott név: hub.edu.hu)&lt;br /&gt;
Mentsük el a generált &amp;quot;Alkalmazás (ügyfél) azonosítója&amp;quot; értéket&lt;br /&gt;
&lt;br /&gt;
4. Az alkalmazáshoz készítsünk egy új titkos ügyfélkódot, majd a generálás végén mentsünk el a titkos ügyfélkód &amp;quot;Érték&amp;quot; mező értékét.&lt;br /&gt;
&lt;br /&gt;
[[Fájl:Tanúsítvány.png|left|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
5. A létrehozott alkalmazáshoz állítsuk be a szükséges jogosultságokat:&lt;br /&gt;
&lt;br /&gt;
  * User.ReadWrite.All&lt;br /&gt;
  * Group.ReadWrite.All&lt;br /&gt;
  * Directory.ReadWrite.All&lt;br /&gt;
  * GroupMember.ReadWrite.All&lt;br /&gt;
  * MailboxSettings.Read&lt;br /&gt;
  * MailboxSettings.ReadWrite&lt;br /&gt;
&lt;br /&gt;
[[Fájl:API engedélyek hozzáadása.png|left|bélyegkép]]&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5009</id>
		<title>Hub.eduid.hu</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5009"/>
				<updated>2023-08-23T15:55:52Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az o365.eduid.hu címen működő szolgáltatás utódja.&lt;br /&gt;
&lt;br /&gt;
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)&lt;br /&gt;
&lt;br /&gt;
= Microsoft integráció =&lt;br /&gt;
&lt;br /&gt;
Microsoft Graph API-n keresztül létrehozza a felhasználót és affiliation (student, staff, member) alapján hozzárendeli csoportokhoz. A csoporthoz hozzá lehet rendelni licenszeket, illetve jogosultságokat, amit automatikusan megörököl a felhasználó&lt;br /&gt;
&lt;br /&gt;
== Szükséges feltételek Microsoft oldalról ==&lt;br /&gt;
&lt;br /&gt;
1. Készítsünk egy Office 365 tenant-ot, ha még nincs: https://learn.microsoft.com/hu-hu/microsoft-365/education/deploy/create-your-office-365-tenant&lt;br /&gt;
&lt;br /&gt;
2. A https://portal.azure.com oldalon bejelentkezve, hozzunk létre 1-1 biztonsági csoportot a tanulók és a dolgozók részére. Jegyezzük fel a csoportok objektumazonosítóját&lt;br /&gt;
&lt;br /&gt;
3. Ahhoz, hogy a hub.eduid.hu szolgáltatás kezelni tudja a létrehozott tenant-ot, regisztráljunk egy új alkalmazást: https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/CreateApplicationBlade (ajánlott név: hub.edu.hu)&lt;br /&gt;
&lt;br /&gt;
4. Az alkalmazáshoz készítsünk egy új titkos ügyfélkódot, majd a generálás végén mentsünk el az &amp;quot;Érték&amp;quot; és a &amp;quot;Titkos kód azonosítója&amp;quot; értékeket&lt;br /&gt;
&lt;br /&gt;
[[Fájl:Tanúsítvány.png|left|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
5. A létrehozott alkalmazáshoz állítsuk be a szükséges jogosultságokat:&lt;br /&gt;
&lt;br /&gt;
  * User.ReadWrite.All&lt;br /&gt;
  * Group.ReadWrite.All&lt;br /&gt;
  * Directory.ReadWrite.All&lt;br /&gt;
  * GroupMember.ReadWrite.All&lt;br /&gt;
  * MailboxSettings.Read&lt;br /&gt;
  * MailboxSettings.ReadWrite&lt;br /&gt;
&lt;br /&gt;
[[Fájl:API engedélyek hozzáadása.png|left|bélyegkép]]&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=F%C3%A1jl:API_enged%C3%A9lyek_hozz%C3%A1ad%C3%A1sa.png&amp;diff=5008</id>
		<title>Fájl:API engedélyek hozzáadása.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=F%C3%A1jl:API_enged%C3%A9lyek_hozz%C3%A1ad%C3%A1sa.png&amp;diff=5008"/>
				<updated>2023-08-23T15:47:39Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;API engedélyek hozzáadása&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=F%C3%A1jl:Tan%C3%BAs%C3%ADtv%C3%A1ny.png&amp;diff=5007</id>
		<title>Fájl:Tanúsítvány.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=F%C3%A1jl:Tan%C3%BAs%C3%ADtv%C3%A1ny.png&amp;diff=5007"/>
				<updated>2023-08-23T15:37:21Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;tanúsítvány létrehozása&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5006</id>
		<title>Hub.eduid.hu</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5006"/>
				<updated>2023-08-23T15:13:22Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: /* Szükséges feltételek Microsoft oldalról */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az o365.eduid.hu címen működő szolgáltatás utódja.&lt;br /&gt;
&lt;br /&gt;
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)&lt;br /&gt;
&lt;br /&gt;
= Microsoft integráció =&lt;br /&gt;
&lt;br /&gt;
Microsoft Graph API-n keresztül létrehozza a felhasználót és affiliation (student, staff, member) alapján hozzárendeli csoportokhoz. A csoporthoz hozzá lehet rendelni licenszeket, illetve jogosultságokat, amit automatikusan megörököl a felhasználó&lt;br /&gt;
&lt;br /&gt;
== Szükséges feltételek Microsoft oldalról ==&lt;br /&gt;
&lt;br /&gt;
1. Készítsünk egy Office 365 tenant-ot, ha még nincs: https://learn.microsoft.com/hu-hu/microsoft-365/education/deploy/create-your-office-365-tenant&lt;br /&gt;
&lt;br /&gt;
2. A https://portal.azure.com oldalon bejelentkezve, hozzunk létre 1-1 biztonsági csoportot a tanulók és a dolgozók részére. Jegyezzük fel a csoportok objektumazonosítóját&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5005</id>
		<title>Hub.eduid.hu</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5005"/>
				<updated>2023-08-23T15:13:03Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: /* Szükséges feltételek Microsoft oldalról */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az o365.eduid.hu címen működő szolgáltatás utódja.&lt;br /&gt;
&lt;br /&gt;
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)&lt;br /&gt;
&lt;br /&gt;
= Microsoft integráció =&lt;br /&gt;
&lt;br /&gt;
Microsoft Graph API-n keresztül létrehozza a felhasználót és affiliation (student, staff, member) alapján hozzárendeli csoportokhoz. A csoporthoz hozzá lehet rendelni licenszeket, illetve jogosultságokat, amit automatikusan megörököl a felhasználó&lt;br /&gt;
&lt;br /&gt;
== Szükséges feltételek Microsoft oldalról ==&lt;br /&gt;
&lt;br /&gt;
1. készítsünk egy Office 365 tenant-ot, ha még nincs: https://learn.microsoft.com/hu-hu/microsoft-365/education/deploy/create-your-office-365-tenant&lt;br /&gt;
&lt;br /&gt;
2. portal.azure.com oldalon bejelentkezve, hozzunk létre 1-1 biztonsági csoportot a tanulók és a dolgozók részére. Jegyezzük fel a csoportok objektumazonosítóját&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5004</id>
		<title>Hub.eduid.hu</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5004"/>
				<updated>2023-08-23T15:09:59Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: /* Szükséges feltételek Microsoft oldalról */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az o365.eduid.hu címen működő szolgáltatás utódja.&lt;br /&gt;
&lt;br /&gt;
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)&lt;br /&gt;
&lt;br /&gt;
= Microsoft integráció =&lt;br /&gt;
&lt;br /&gt;
Microsoft Graph API-n keresztül létrehozza a felhasználót és affiliation (student, staff, member) alapján hozzárendeli csoportokhoz. A csoporthoz hozzá lehet rendelni licenszeket, illetve jogosultságokat, amit automatikusan megörököl a felhasználó&lt;br /&gt;
&lt;br /&gt;
== Szükséges feltételek Microsoft oldalról ==&lt;br /&gt;
&lt;br /&gt;
1. készítsünk egy Office 365 tenant-ot, ha még nincs: https://learn.microsoft.com/hu-hu/microsoft-365/education/deploy/create-your-office-365-tenant&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5003</id>
		<title>Hub.eduid.hu</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5003"/>
				<updated>2023-08-17T08:52:54Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az o365.eduid.hu címen működő szolgáltatás utódja.&lt;br /&gt;
&lt;br /&gt;
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)&lt;br /&gt;
&lt;br /&gt;
= Microsoft integráció =&lt;br /&gt;
&lt;br /&gt;
Microsoft Graph API-n keresztül létrehozza a felhasználót és affiliation (student, staff, member) alapján hozzárendeli csoportokhoz. A csoporthoz hozzá lehet rendelni licenszeket, illetve jogosultságokat, amit automatikusan megörököl a felhasználó&lt;br /&gt;
&lt;br /&gt;
== Szükséges feltételek Microsoft oldalról ==&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5002</id>
		<title>Hub.eduid.hu</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Hub.eduid.hu&amp;diff=5002"/>
				<updated>2023-08-17T08:39:50Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: Új oldal, tartalma: „Az o365.eduid.hu címen működő szolgáltatás utódja.  Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást…”&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az o365.eduid.hu címen működő szolgáltatás utódja.&lt;br /&gt;
&lt;br /&gt;
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)&lt;br /&gt;
&lt;br /&gt;
= Microsoft integráció =&lt;br /&gt;
&lt;br /&gt;
Microsoft Graph API-n keresztül létrehozza a felhasználót és affiliation (student, staff, member) alapján hozzárendeli csoportokhoz. A csoporthoz hozzá lehet rendelni licenszeket, illetve jogosultságokat, amit automatikusan megörököl a felhasználó&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Shib2SP&amp;diff=5001</id>
		<title>Shib2SP</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Shib2SP&amp;diff=5001"/>
				<updated>2023-08-15T14:16:59Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: új működő példa config&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az SP-t a '''&amp;lt;code&amp;gt;shibboleth2.xml&amp;lt;/code&amp;gt;''' állományon keresztül konfigurálhatjuk. Ebben a leírásban feltételezzük, hogy az SP konfigurációja a '''&amp;lt;code&amp;gt;/etc/shibboleth&amp;lt;/code&amp;gt;''' könyvtárban van.&lt;br /&gt;
&lt;br /&gt;
= Előkészületek =&lt;br /&gt;
* [[Shibboleth2_SP|Telepítsük a shibbolethet]]&lt;br /&gt;
* Válasszunk egy egyedi azonosítót, ún. &amp;lt;code&amp;gt;entityID&amp;lt;/code&amp;gt;-t az SP számára. Ez az azonosító URL formájú, létező hosztnév, egy - alapértelmezés szerint - /shibboleth path-szal. Pl: &amp;lt;code&amp;gt;https://lipton.aai.niif.hu/shibboleth&amp;lt;/code&amp;gt;. Megfelelő konfiguráció után az entityID-t meghívva válaszul az adott entitás metaadatát kapjuk válaszul.&lt;br /&gt;
&lt;br /&gt;
= Működő példa konfiguráció 1 =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;SPConfig xmlns=&amp;quot;urn:mace:shibboleth:2.0:native:sp:config&amp;quot;&lt;br /&gt;
    xmlns:conf=&amp;quot;urn:mace:shibboleth:2.0:native:sp:config&amp;quot;&lt;br /&gt;
    xmlns:saml=&amp;quot;urn:oasis:names:tc:SAML:2.0:assertion&amp;quot;&lt;br /&gt;
    xmlns:samlp=&amp;quot;urn:oasis:names:tc:SAML:2.0:protocol&amp;quot;&lt;br /&gt;
    xmlns:md=&amp;quot;urn:oasis:names:tc:SAML:2.0:metadata&amp;quot;&lt;br /&gt;
    clockSkew=&amp;quot;180&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!--&lt;br /&gt;
    By default, in-memory StorageService, ReplayCache, ArtifactMap, and SessionCache&lt;br /&gt;
    are used. See example-shibboleth2.xml for samples of explicitly configuring them.&lt;br /&gt;
    --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!--&lt;br /&gt;
    To customize behavior for specific resources on Apache, and to link vhosts or&lt;br /&gt;
    resources to ApplicationOverride settings below, use web server options/commands.&lt;br /&gt;
    See https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPConfigurationElements for help.&lt;br /&gt;
&lt;br /&gt;
    For examples with the RequestMap XML syntax instead, see the example-shibboleth2.xml&lt;br /&gt;
    file, and the https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPRequestMapHowTo topic.&lt;br /&gt;
    --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- The ApplicationDefaults element is where most of Shibboleth's SAML bits are defined. --&amp;gt;&lt;br /&gt;
    &amp;lt;ApplicationDefaults entityID=&amp;quot;https://events.prace-ri.eu/shibboleth&amp;quot;&lt;br /&gt;
                         REMOTE_USER=&amp;quot;eppn&amp;quot;&lt;br /&gt;
                         cipherSuites=&amp;quot;ECDHE+AESGCM:ECDHE:!aNULL:!eNULL:!LOW:!EXPORT:!RC4:!SHA:!SSLv2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!--&lt;br /&gt;
        Controls session lifetimes, address checks, cookie handling, and the protocol handlers.&lt;br /&gt;
        You MUST supply an effectively unique handlerURL value for each of your applications.&lt;br /&gt;
        The value defaults to /Shibboleth.sso, and should be a relative path, with the SP computing&lt;br /&gt;
        a relative value based on the virtual host. Using handlerSSL=&amp;quot;true&amp;quot;, the default, will force&lt;br /&gt;
        the protocol to be https. You should also set cookieProps to &amp;quot;https&amp;quot; for SSL-only sites.&lt;br /&gt;
        Note that while we default checkAddress to &amp;quot;false&amp;quot;, this has a negative impact on the&lt;br /&gt;
        security of your site. Stealing sessions via cookie theft is much easier with this disabled.&lt;br /&gt;
        --&amp;gt;&lt;br /&gt;
        &amp;lt;Sessions lifetime=&amp;quot;28800&amp;quot; timeout=&amp;quot;3600&amp;quot; relayState=&amp;quot;ss:mem&amp;quot;&lt;br /&gt;
                  checkAddress=&amp;quot;false&amp;quot; handlerSSL=&amp;quot;false&amp;quot; cookieProps=&amp;quot;http&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!--&lt;br /&gt;
            Configures SSO for a default IdP. To allow for &amp;gt;1 IdP, remove&lt;br /&gt;
            entityID property and adjust discoveryURL to point to discovery service.&lt;br /&gt;
            (Set discoveryProtocol to &amp;quot;WAYF&amp;quot; for legacy Shibboleth WAYF support.)&lt;br /&gt;
            You can also override entityID on /Login query string, or in RequestMap/htaccess.&lt;br /&gt;
            --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
                &amp;lt;SSO discoveryProtocol=&amp;quot;SAMLDS&amp;quot; discoveryURL=&amp;quot;https://mdx.eduid.hu/role/idp.ds&amp;quot;&amp;gt;&lt;br /&gt;
                 SAML2 SAML1&lt;br /&gt;
                &amp;lt;/SSO&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- SAML and local-only logout. --&amp;gt;&lt;br /&gt;
            &amp;lt;Logout&amp;gt;SAML2 Local&amp;lt;/Logout&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- Extension service that generates &amp;quot;approximate&amp;quot; metadata based on SP configuration. --&amp;gt;&lt;br /&gt;
            &amp;lt;Handler type=&amp;quot;MetadataGenerator&amp;quot; Location=&amp;quot;/Metadata&amp;quot; signing=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- Status reporting service. --&amp;gt;&lt;br /&gt;
            &amp;lt;Handler type=&amp;quot;Status&amp;quot; Location=&amp;quot;/Status&amp;quot; acl=&amp;quot;127.0.0.1 ::1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- Session diagnostic service. --&amp;gt;&lt;br /&gt;
            &amp;lt;Handler type=&amp;quot;Session&amp;quot; Location=&amp;quot;/Session&amp;quot; showAttributeValues=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- JSON feed of discovery information. --&amp;gt;&lt;br /&gt;
            &amp;lt;Handler type=&amp;quot;DiscoveryFeed&amp;quot; Location=&amp;quot;/DiscoFeed&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;/Sessions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!--&lt;br /&gt;
        Allows overriding of error template information/filenames. You can&lt;br /&gt;
        also add attributes with values that can be plugged into the templates.&lt;br /&gt;
        --&amp;gt;&lt;br /&gt;
        &amp;lt;Errors supportContact=&amp;quot;prace-indico-admin@niif.hu&amp;quot;&lt;br /&gt;
            helpLocation=&amp;quot;/about.html&amp;quot;&lt;br /&gt;
            styleSheet=&amp;quot;/shibboleth-sp/main.css&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;MetadataProvider type=&amp;quot;Dynamic&amp;quot; ignoreTransport=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;Subst&amp;gt;https://mdx.eduid.hu/entities/$entityID&amp;lt;/Subst&amp;gt;&lt;br /&gt;
              &amp;lt;MetadataFilter type=&amp;quot;Signature&amp;quot; certificate=&amp;quot;href-metadata-signer-2020.crt&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Example of remotely supplied batch of signed metadata. --&amp;gt;&lt;br /&gt;
        &amp;lt;!--&lt;br /&gt;
        &amp;lt;MetadataProvider type=&amp;quot;XML&amp;quot; validate=&amp;quot;true&amp;quot;&lt;br /&gt;
              uri=&amp;quot;http://example.org/federation-metadata.xml&amp;quot;&lt;br /&gt;
              backingFilePath=&amp;quot;federation-metadata.xml&amp;quot; reloadInterval=&amp;quot;7200&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;MetadataFilter type=&amp;quot;RequireValidUntil&amp;quot; maxValidityInterval=&amp;quot;2419200&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;MetadataFilter type=&amp;quot;Signature&amp;quot; certificate=&amp;quot;fedsigner.pem&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;DiscoveryFilter type=&amp;quot;Blacklist&amp;quot; matcher=&amp;quot;EntityAttributes&amp;quot; trimTags=&amp;quot;true&amp;quot;&lt;br /&gt;
              attributeName=&amp;quot;http://macedir.org/entity-category&amp;quot;&lt;br /&gt;
              attributeNameFormat=&amp;quot;urn:oasis:names:tc:SAML:2.0:attrname-format:uri&amp;quot;&lt;br /&gt;
              attributeValue=&amp;quot;http://refeds.org/category/hide-from-discovery&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
        --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Example of locally maintained metadata. --&amp;gt;&lt;br /&gt;
        &amp;lt;!--&lt;br /&gt;
        &amp;lt;MetadataProvider type=&amp;quot;XML&amp;quot; validate=&amp;quot;true&amp;quot; file=&amp;quot;partner-metadata.xml&amp;quot;/&amp;gt;&lt;br /&gt;
        --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Map to extract attributes from SAML assertions. --&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeExtractor type=&amp;quot;XML&amp;quot; validate=&amp;quot;true&amp;quot; reloadChanges=&amp;quot;false&amp;quot; path=&amp;quot;attribute-map.xml&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Use a SAML query if no attributes are supplied during SSO. --&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeResolver type=&amp;quot;Query&amp;quot; subjectMatch=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Default filtering policy for recognized attributes, lets other data pass. --&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeFilter type=&amp;quot;XML&amp;quot; validate=&amp;quot;true&amp;quot; path=&amp;quot;attribute-policy.xml&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Simple file-based resolver for using a single keypair. --&amp;gt;&lt;br /&gt;
        &amp;lt;CredentialResolver type=&amp;quot;File&amp;quot; key=&amp;quot;events-shib.key&amp;quot; certificate=&amp;quot;events-shib.cert&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!--&lt;br /&gt;
        The default settings can be overridden by creating ApplicationOverride elements (see&lt;br /&gt;
        the https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPApplicationOverride topic).&lt;br /&gt;
        Resource requests are mapped by web server commands, or the RequestMapper, to an&lt;br /&gt;
        applicationId setting.&lt;br /&gt;
&lt;br /&gt;
        Example of a second application (for a second vhost) that has a different entityID.&lt;br /&gt;
        Resources on the vhost would map to an applicationId of &amp;quot;admin&amp;quot;:&lt;br /&gt;
        --&amp;gt;&lt;br /&gt;
        &amp;lt;!--&lt;br /&gt;
        &amp;lt;ApplicationOverride id=&amp;quot;admin&amp;quot; entityID=&amp;quot;https://admin.example.org/shibboleth&amp;quot;/&amp;gt;&lt;br /&gt;
        --&amp;gt;&lt;br /&gt;
    &amp;lt;/ApplicationDefaults&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Policies that determine how to process and authenticate runtime messages. --&amp;gt;&lt;br /&gt;
    &amp;lt;SecurityPolicyProvider type=&amp;quot;XML&amp;quot; validate=&amp;quot;true&amp;quot; path=&amp;quot;security-policy.xml&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Low-level configuration about protocols and bindings available for use. --&amp;gt;&lt;br /&gt;
    &amp;lt;ProtocolProvider type=&amp;quot;XML&amp;quot; validate=&amp;quot;true&amp;quot; reloadChanges=&amp;quot;false&amp;quot; path=&amp;quot;protocols.xml&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/SPConfig&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Működő példa konfiguráció 2 =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;SPConfig xmlns=&amp;quot;urn:mace:shibboleth:2.0:native:sp:config&amp;quot;&lt;br /&gt;
    xmlns:conf=&amp;quot;urn:mace:shibboleth:2.0:native:sp:config&amp;quot;&lt;br /&gt;
    xmlns:saml=&amp;quot;urn:oasis:names:tc:SAML:2.0:assertion&amp;quot;&lt;br /&gt;
    xmlns:samlp=&amp;quot;urn:oasis:names:tc:SAML:2.0:protocol&amp;quot;    &lt;br /&gt;
    xmlns:md=&amp;quot;urn:oasis:names:tc:SAML:2.0:metadata&amp;quot;&lt;br /&gt;
    logger=&amp;quot;syslog.logger&amp;quot; clockSkew=&amp;quot;180&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- The OutOfProcess section contains properties affecting the shibd daemon. --&amp;gt;&lt;br /&gt;
    &amp;lt;OutOfProcess logger=&amp;quot;shibd.logger&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!--&lt;br /&gt;
        &amp;lt;Extensions&amp;gt;&lt;br /&gt;
            &amp;lt;Library path=&amp;quot;odbc-store.so&amp;quot; fatal=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Extensions&amp;gt;&lt;br /&gt;
        --&amp;gt;&lt;br /&gt;
    &amp;lt;/OutOfProcess&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- The InProcess section conrains settings affecting web server modules/filters. --&amp;gt;&lt;br /&gt;
    &amp;lt;InProcess logger=&amp;quot;native.logger&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;/InProcess&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Only one listener can be defined, to connect in process modules to shibd. --&amp;gt;&lt;br /&gt;
    &amp;lt;UnixListener address=&amp;quot;shibd.sock&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;!-- &amp;lt;TCPListener address=&amp;quot;127.0.0.1&amp;quot; port=&amp;quot;12345&amp;quot; acl=&amp;quot;127.0.0.1&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- This set of components stores sessions and other persistent data in daemon memory. --&amp;gt;&lt;br /&gt;
    &amp;lt;StorageService type=&amp;quot;Memory&amp;quot; id=&amp;quot;mem&amp;quot; cleanupInterval=&amp;quot;900&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;SessionCache type=&amp;quot;StorageService&amp;quot; StorageService=&amp;quot;mem&amp;quot; cacheTimeout=&amp;quot;3600&amp;quot; inprocTimeout=&amp;quot;900&amp;quot; cleanupInterval=&amp;quot;900&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;ReplayCache StorageService=&amp;quot;mem&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;ArtifactMap artifactTTL=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- This set of components stores sessions and other persistent data in an ODBC database. --&amp;gt;&lt;br /&gt;
    &amp;lt;!--&lt;br /&gt;
    &amp;lt;StorageService type=&amp;quot;ODBC&amp;quot; id=&amp;quot;db&amp;quot; cleanupInterval=&amp;quot;900&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;ConnectionString&amp;gt;&lt;br /&gt;
        DRIVER=drivername;SERVER=dbserver;UID=shibboleth;PWD=password;DATABASE=shibboleth;APP=Shibboleth&lt;br /&gt;
        &amp;lt;/ConnectionString&amp;gt;&lt;br /&gt;
    &amp;lt;/StorageService&amp;gt;&lt;br /&gt;
    &amp;lt;SessionCache type=&amp;quot;StorageService&amp;quot; StorageService=&amp;quot;db&amp;quot; cacheTimeout=&amp;quot;3600&amp;quot; inprocTimeout=&amp;quot;900&amp;quot; cleanupInterval=&amp;quot;900&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;ReplayCache StorageService=&amp;quot;db&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;ArtifactMap StorageService=&amp;quot;db&amp;quot; artifactTTL=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
    --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- To customize behavior, map hostnames and path components to applicationId and other settings. --&amp;gt;&lt;br /&gt;
    &amp;lt;RequestMapper type=&amp;quot;Native&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;RequestMap applicationId=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;!--&lt;br /&gt;
            The example requires a session for documents in /secure on the containing host with http and&lt;br /&gt;
            https on the default ports. Note that the name and port in the &amp;lt;Host&amp;gt; elements MUST match&lt;br /&gt;
            Apache's ServerName and Port directives or the IIS Site name in the &amp;lt;ISAPI&amp;gt; element&lt;br /&gt;
            below.&lt;br /&gt;
            --&amp;gt;&lt;br /&gt;
		&amp;lt;Host name=&amp;quot;wiki.aai.niif.hu&amp;quot; authType=&amp;quot;shibboleth&amp;quot; &lt;br /&gt;
			  requireSession=&amp;quot;false&amp;quot; applicationId=&amp;quot;wiki.aai&amp;quot; &lt;br /&gt;
			  redirectErrors=&amp;quot;https://wiki.aai.niif.hu/index.php/Kezd%C5%91lap&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;Path name=&amp;quot;secure&amp;quot; requireSession=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/Host&amp;gt;&lt;br /&gt;
		&amp;lt;Host name=&amp;quot;www.aai.niif.hu&amp;quot; authType=&amp;quot;shibboleth&amp;quot; &lt;br /&gt;
			  requireSession=&amp;quot;false&amp;quot; applicationId=&amp;quot;www.aai&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;Path name=&amp;quot;secure&amp;quot; requireSession=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/Host&amp;gt;&lt;br /&gt;
        &amp;lt;/RequestMap&amp;gt;&lt;br /&gt;
    &amp;lt;/RequestMapper&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!--&lt;br /&gt;
    The ApplicationDefaults element is where most of Shibboleth's SAML bits are defined.&lt;br /&gt;
    Resource requests are mapped by the RequestMapper to an applicationId that&lt;br /&gt;
    points into to this section.&lt;br /&gt;
    --&amp;gt;&lt;br /&gt;
    &amp;lt;ApplicationDefaults id=&amp;quot;default&amp;quot; policyId=&amp;quot;default&amp;quot;&lt;br /&gt;
        entityID=&amp;quot;https://lipton.aai.niif.hu/shibboleth&amp;quot;&lt;br /&gt;
        homeURL=&amp;quot;https://lipton.aai.niif.hu/shib-error.php&amp;quot;&lt;br /&gt;
        REMOTE_USER=&amp;quot;eppn persistent-id targeted-id&amp;quot;&lt;br /&gt;
        signing=&amp;quot;false&amp;quot; encryption=&amp;quot;false&amp;quot;&lt;br /&gt;
        &amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!--&lt;br /&gt;
        Controls session lifetimes, address checks, cookie handling, and the protocol handlers.&lt;br /&gt;
        You MUST supply an effectively unique handlerURL value for each of your applications.&lt;br /&gt;
        The value can be a relative path, a URL with no hostname (https:///path) or a full URL.&lt;br /&gt;
        The system can compute a relative value based on the virtual host. Using handlerSSL=&amp;quot;true&amp;quot;&lt;br /&gt;
        will force the protocol to be https. You should also add a cookieProps setting of &amp;quot;; path=/; secure&amp;quot;&lt;br /&gt;
        in that case. Note that while we default checkAddress to &amp;quot;false&amp;quot;, this has a negative&lt;br /&gt;
        impact on the security of the SP. Stealing cookies/sessions is much easier with this disabled.&lt;br /&gt;
        --&amp;gt;&lt;br /&gt;
        &amp;lt;Sessions lifetime=&amp;quot;28800&amp;quot; timeout=&amp;quot;3600&amp;quot; checkAddress=&amp;quot;false&amp;quot;&lt;br /&gt;
            handlerURL=&amp;quot;/Shibboleth.sso&amp;quot; handlerSSL=&amp;quot;true&amp;quot;&lt;br /&gt;
            exportLocation=&amp;quot;http://localhost/Shibboleth.sso/GetAssertion&amp;quot;&lt;br /&gt;
            idpHistory=&amp;quot;false&amp;quot; idpHistoryDays=&amp;quot;7&amp;quot;&amp;gt;&lt;br /&gt;
            &lt;br /&gt;
            &amp;lt;!--&lt;br /&gt;
            SessionInitiators handle session requests and relay them to a Discovery page,&lt;br /&gt;
            or to an IdP if possible. Automatic session setup will use the default or first&lt;br /&gt;
            element (or requireSessionWith can specify a specific id to use).&lt;br /&gt;
            --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- Directly to the IdP --&amp;gt; &lt;br /&gt;
            &amp;lt;SessionInitiator type=&amp;quot;Chaining&amp;quot; Location=&amp;quot;/Login&amp;quot; id=&amp;quot;Intranet&amp;quot;&lt;br /&gt;
                    relayState=&amp;quot;cookie&amp;quot; entityID=&amp;quot;https://idp.niif.hu/shibboleth&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;SessionInitiator type=&amp;quot;SAML2&amp;quot; defaultACSIndex=&amp;quot;1&amp;quot; template=&amp;quot;bindingTemplate.html&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;SessionInitiator type=&amp;quot;Shib1&amp;quot; defaultACSIndex=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/SessionInitiator&amp;gt;&lt;br /&gt;
            &lt;br /&gt;
			&amp;lt;!-- Discovery Service --&amp;gt;&lt;br /&gt;
            &amp;lt;SessionInitiator type=&amp;quot;Chaining&amp;quot; Location=&amp;quot;/DS&amp;quot; id=&amp;quot;DS&amp;quot; &lt;br /&gt;
	                      relayState=&amp;quot;cookie&amp;quot; acsByIndex=&amp;quot;false&amp;quot; &lt;br /&gt;
			      isDefault=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
                &amp;lt;SessionInitiator type=&amp;quot;SAML2&amp;quot; template=&amp;quot;bindingTemplate.html&amp;quot;&lt;br /&gt;
				  defaultACSIndex=&amp;quot;3&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;SessionInitiator type=&amp;quot;Shib1&amp;quot; defaultACSIndex=&amp;quot;5&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;SessionInitiator type=&amp;quot;SAMLDS&amp;quot; URL=&amp;quot;https://ds.niif.hu/&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/SessionInitiator&amp;gt;&lt;br /&gt;
	    &amp;lt;SessionInitiator type=&amp;quot;Chaining&amp;quot; Location=&amp;quot;/SAML1DS&amp;quot; acsByIndex=&amp;quot;false&amp;quot; relayState=&amp;quot;cookie&amp;quot; &lt;br /&gt;
			      id=&amp;quot;Saml1Only&amp;quot;&amp;gt;&lt;br /&gt;
            	&amp;lt;SessionInitiator type=&amp;quot;Shib1&amp;quot; defaultACSIndex=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
            	&amp;lt;SessionInitiator type=&amp;quot;SAMLDS&amp;quot; URL=&amp;quot;https://ds.niif.hu&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/SessionInitiator&amp;gt;&lt;br /&gt;
            &lt;br /&gt;
            &amp;lt;!--&lt;br /&gt;
            md:AssertionConsumerService locations handle specific SSO protocol bindings,&lt;br /&gt;
            such as SAML 2.0 POST or SAML 1.1 Artifact. The isDefault and index attributes&lt;br /&gt;
            are used when sessions are initiated to determine how to tell the IdP where and&lt;br /&gt;
            how to return the response.&lt;br /&gt;
            --&amp;gt;&lt;br /&gt;
            &amp;lt;md:AssertionConsumerService Location=&amp;quot;/SAML2/POST&amp;quot; index=&amp;quot;1&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:AssertionConsumerService Location=&amp;quot;/SAML2/POST-SimpleSign&amp;quot; index=&amp;quot;2&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:AssertionConsumerService Location=&amp;quot;/SAML2/Artifact&amp;quot; index=&amp;quot;3&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:AssertionConsumerService Location=&amp;quot;/SAML2/ECP&amp;quot; index=&amp;quot;4&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:PAOS&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:AssertionConsumerService Location=&amp;quot;/SAML/POST&amp;quot; index=&amp;quot;5&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:1.0:profiles:browser-post&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:AssertionConsumerService Location=&amp;quot;/SAML/Artifact&amp;quot; index=&amp;quot;6&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:1.0:profiles:artifact-01&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- LogoutInitiators enable SP-initiated local or global/single logout of sessions. --&amp;gt;&lt;br /&gt;
            &amp;lt;LogoutInitiator type=&amp;quot;Chaining&amp;quot; Location=&amp;quot;/Logout&amp;quot; relayState=&amp;quot;cookie&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;LogoutInitiator type=&amp;quot;SAML2&amp;quot; template=&amp;quot;bindingTemplate.html&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;LogoutInitiator type=&amp;quot;Local&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/LogoutInitiator&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- md:SingleLogoutService locations handle single logout (SLO) protocol messages. --&amp;gt;&lt;br /&gt;
            &amp;lt;md:SingleLogoutService Location=&amp;quot;/SLO/SOAP&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:SOAP&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:SingleLogoutService Location=&amp;quot;/SLO/Redirect&amp;quot; conf:template=&amp;quot;bindingTemplate.html&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:SingleLogoutService Location=&amp;quot;/SLO/POST&amp;quot; conf:template=&amp;quot;bindingTemplate.html&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:SingleLogoutService Location=&amp;quot;/SLO/Artifact&amp;quot; conf:template=&amp;quot;bindingTemplate.html&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- md:ManageNameIDService locations handle NameID management (NIM) protocol messages. --&amp;gt;&lt;br /&gt;
            &amp;lt;md:ManageNameIDService Location=&amp;quot;/NIM/SOAP&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:SOAP&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:ManageNameIDService Location=&amp;quot;/NIM/Redirect&amp;quot; conf:template=&amp;quot;bindingTemplate.html&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:ManageNameIDService Location=&amp;quot;/NIM/POST&amp;quot; conf:template=&amp;quot;bindingTemplate.html&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:ManageNameIDService Location=&amp;quot;/NIM/Artifact&amp;quot; conf:template=&amp;quot;bindingTemplate.html&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!--&lt;br /&gt;
            md:ArtifactResolutionService locations resolve artifacts issued when using the&lt;br /&gt;
            SAML 2.0 HTTP-Artifact binding on outgoing messages, generally uses SOAP.&lt;br /&gt;
            --&amp;gt;&lt;br /&gt;
            &amp;lt;md:ArtifactResolutionService Location=&amp;quot;/Artifact/SOAP&amp;quot; index=&amp;quot;1&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:SOAP&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- Extension service that generates &amp;quot;approximate&amp;quot; metadata based on SP configuration. --&amp;gt;&lt;br /&gt;
            &amp;lt;Handler type=&amp;quot;MetadataGenerator&amp;quot; Location=&amp;quot;/Metadata&amp;quot; signing=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- Status reporting service. --&amp;gt;&lt;br /&gt;
            &amp;lt;Handler type=&amp;quot;Status&amp;quot; Location=&amp;quot;/Status&amp;quot; acl=&amp;quot;127.0.0.1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- Session diagnostic service. --&amp;gt;&lt;br /&gt;
            &amp;lt;Handler type=&amp;quot;Session&amp;quot; Location=&amp;quot;/Session&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;/Sessions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!--&lt;br /&gt;
        You should customize these pages! You can add attributes with values that can be plugged&lt;br /&gt;
        into your templates. You can remove the access attribute to cause the module to return a&lt;br /&gt;
        standard 403 Forbidden error code if authorization fails, and then customize that condition&lt;br /&gt;
        using your web server.&lt;br /&gt;
        --&amp;gt;&lt;br /&gt;
        &amp;lt;Errors session=&amp;quot;sessionError.html&amp;quot;&lt;br /&gt;
            metadata=&amp;quot;metadataError.html&amp;quot;&lt;br /&gt;
            access=&amp;quot;accessError.html&amp;quot;&lt;br /&gt;
            ssl=&amp;quot;sslError.html&amp;quot;&lt;br /&gt;
            localLogout=&amp;quot;localLogout.html&amp;quot;&lt;br /&gt;
            globalLogout=&amp;quot;globalLogout.html&amp;quot;&lt;br /&gt;
            supportContact=&amp;quot;root@localhost&amp;quot;&lt;br /&gt;
            logoLocation=&amp;quot;/shibboleth-sp/logo.jpg&amp;quot;&lt;br /&gt;
            styleSheet=&amp;quot;/shibboleth-sp/main.css&amp;quot;/&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;!-- Uncomment and modify to tweak settings for specific IdPs or groups. --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- &amp;lt;RelyingParty Name=&amp;quot;SpecialFederation&amp;quot; keyName=&amp;quot;SpecialKey&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Chains together all your metadata sources. --&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataProvider type=&amp;quot;Chaining&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;MetadataProvider type=&amp;quot;XML&amp;quot; uri=&amp;quot;https://metadata.eduid.hu/current/href.xml&amp;quot;&lt;br /&gt;
               backingFilePath=&amp;quot;href.xml&amp;quot; reloadInterval=&amp;quot;7200&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;SignatureMetadataFilter certificate=&amp;quot;href-metadata-signer-2010.crt&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
           &amp;lt;MetadataProvider type=&amp;quot;XML&amp;quot; uri=&amp;quot;https://metadata.eduid.hu/current/niifi.xml&amp;quot;&lt;br /&gt;
               backingFilePath=&amp;quot;niifi.xml&amp;quot; reloadInterval=&amp;quot;7200&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;SignatureMetadataFilter certificate=&amp;quot;href-metadata-signer-2010.crt&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
        &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Chain the two built-in trust engines together. --&amp;gt;&lt;br /&gt;
        &amp;lt;TrustEngine type=&amp;quot;Chaining&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;TrustEngine type=&amp;quot;ExplicitKey&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;TrustEngine type=&amp;quot;PKIX&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/TrustEngine&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Map to extract attributes from SAML assertions. --&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeExtractor type=&amp;quot;XML&amp;quot; path=&amp;quot;attribute-map.xml&amp;quot;/&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;!-- Use a SAML query if no attributes are supplied during SSO. --&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeResolver type=&amp;quot;Query&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Default filtering policy for recognized attributes, lets other data pass. --&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeFilter type=&amp;quot;XML&amp;quot; path=&amp;quot;attribute-policy.xml&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Simple file-based resolver for using a single keypair. --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- &amp;lt;CredentialResolver type=&amp;quot;File&amp;quot; key=&amp;quot;example.key&amp;quot; certificate=&amp;quot;example.crt&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Example of a second application (using a second vhost) that has a different entityID. --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- &amp;lt;ApplicationOverride id=&amp;quot;admin&amp;quot; entityID=&amp;quot;https://admin.example.org/shibboleth&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
	&amp;lt;ApplicationOverride id=&amp;quot;wiki.aai&amp;quot; entityID=&amp;quot;https://wiki.aai.niif.hu/shibboleth&amp;quot; &amp;gt;&lt;br /&gt;
		&amp;lt;CredentialResolver type=&amp;quot;File&amp;quot; key=&amp;quot;wiki.aai.niif.hu.key&amp;quot; &lt;br /&gt;
				    certificate=&amp;quot;wiki.aai.niif.hu.crt&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/ApplicationOverride&amp;gt;&lt;br /&gt;
	&amp;lt;ApplicationOverride id=&amp;quot;www.aai&amp;quot; entityID=&amp;quot;https://www.aai.niif.hu/shibboleth&amp;quot; &amp;gt;&lt;br /&gt;
		&amp;lt;CredentialResolver type=&amp;quot;File&amp;quot; key=&amp;quot;www.aai.niif.hu.key&amp;quot; &lt;br /&gt;
				    certificate=&amp;quot;www.aai.niif.hu.crt&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/ApplicationOverride&amp;gt;&lt;br /&gt;
    &amp;lt;/ApplicationDefaults&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- Each policy defines a set of rules to use to secure messages. --&amp;gt;&lt;br /&gt;
    &amp;lt;SecurityPolicies&amp;gt;&lt;br /&gt;
        &amp;lt;!--&lt;br /&gt;
        The predefined policy enforces replay/freshness, standard&lt;br /&gt;
        condition processing, and permits signing and client TLS.&lt;br /&gt;
        --&amp;gt;&lt;br /&gt;
        &amp;lt;Policy id=&amp;quot;default&amp;quot; validate=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PolicyRule type=&amp;quot;MessageFlow&amp;quot; checkReplay=&amp;quot;true&amp;quot; expires=&amp;quot;60&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;PolicyRule type=&amp;quot;Conditions&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;PolicyRule type=&amp;quot;Audience&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Enable Delegation rule to permit delegated access. --&amp;gt;&lt;br /&gt;
                &amp;lt;!-- &amp;lt;PolicyRule type=&amp;quot;Delegation&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
            &amp;lt;/PolicyRule&amp;gt;&lt;br /&gt;
            &amp;lt;PolicyRule type=&amp;quot;ClientCertAuth&amp;quot; errorFatal=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;PolicyRule type=&amp;quot;XMLSigning&amp;quot; errorFatal=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;PolicyRule type=&amp;quot;SimpleSigning&amp;quot; errorFatal=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Policy&amp;gt;&lt;br /&gt;
    &amp;lt;/SecurityPolicies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/SPConfig&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Minimális beállítások =&lt;br /&gt;
&lt;br /&gt;
== Környezeti beállítások ==&lt;br /&gt;
&lt;br /&gt;
A konfigurációs fájl első negyedében lévő szekciókban elsősorban a Shibboleth futásával kapcsolatos beállítások találhatók, amelyek alapértelmezett értékei legtöbbször megfelelőek az általunk elvárt működéshez.&lt;br /&gt;
* &amp;lt;code&amp;gt;OutOfProcess&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;InProcess&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;UnixListener&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;StorageService&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;SessionCache&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ReplayCache&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ArtifactMap&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RequestMap ==&lt;br /&gt;
&lt;br /&gt;
A RequestMap megadja azokat a címeket (Host és Path), amelyeket a Shibboleth SP kezelni fog. Szerkezete:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;RequestMap applicationId=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Host name=&amp;quot;wiki.aai.niif.hu&amp;quot; authType=&amp;quot;shibboleth&amp;quot; &lt;br /&gt;
			  requireSession=&amp;quot;false&amp;quot; applicationId=&amp;quot;wiki.aai&amp;quot; &lt;br /&gt;
			  redirectErrors=&amp;quot;https://wiki.aai.niif.hu/index.php/Kezd%C5%91lap&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;Path name=&amp;quot;secure&amp;quot; requireSession=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/Host&amp;gt;&lt;br /&gt;
		&amp;lt;Host name=&amp;quot;www.aai.niif.hu&amp;quot; authType=&amp;quot;shibboleth&amp;quot; &lt;br /&gt;
			  requireSession=&amp;quot;false&amp;quot; applicationId=&amp;quot;www.aai&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;Path name=&amp;quot;secure&amp;quot; requireSession=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/Host&amp;gt;&lt;br /&gt;
        &amp;lt;/RequestMap&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A RequestMap több Host elemet is tartalmazhat, a Host elem 0 vagy több Path elemet tartalmazhat.&lt;br /&gt;
{{ATTENTION|Ha 1-nél nagyobb mélységű könyvtárat (pl. a &amp;lt;code&amp;gt;/shibtest/shibreq&amp;lt;/code&amp;gt; nevűt) szeretnénk védeni, akkor '''nem''' adhatjuk meg a ''name'' paraméterben a &amp;quot;shibtest/shibreq&amp;quot; értéket, hanem egymásba ágyazott Path elemeket kell használni. A ''name'' paraméter nem tartalmazhat '/' karaktert.}}&lt;br /&gt;
&lt;br /&gt;
Az egyes elemeknél paraméterekkel szabályozhatjuk, hogy az SP milyen módon kezelje a hostot vagy az útvonalat. A paraméterek felüldefiniálhatók. A legfontosabb paraméterek az alábbiak (ezek ugyanúgy használhatók Host-nál mint Path-nál):&lt;br /&gt;
* '''&amp;lt;code&amp;gt;requireSession&amp;lt;/code&amp;gt;''': ha értéke &amp;quot;true&amp;quot;, akkor az SP csak akkor továbbítja a HTTP request-et az alkalmazás ill. a webszerver felé, ha sikerült létrehozni egy autentikált session-t. Ha &amp;quot;false&amp;quot;, akkor az alkalmazás felelős azért, hogy létrehozza a Shibboleth session-t (ún. [[ShibSPLazy | lazy session]]) Alapértelmezés: &amp;quot;false&amp;quot;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;exportAssertion&amp;lt;/code&amp;gt;''': ha értéke &amp;quot;true&amp;quot;, akkor az SP átadja a teljes, IdP-től kapott Attribute Assertion-t az alkalmazásnak a SHIB_ATTRIBUTES HTTP mezőben (base64 kódolással). Alapértelmezés: &amp;quot;false&amp;quot;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;applicationId&amp;lt;/code&amp;gt;''': lehetőség van arra, hogy bizonyos helyekre érkező kérésekre az SP más és más módon próbáljon meg session-t létrehozni, ezt ún. [[ShibSPApplication | Shibboleth Application]]-ben konfigurálhatjuk. Ha nem adunk meg értéket, akkor a &amp;quot;default&amp;quot; application-nél megadott értékek vonatkoznak majd a session-re.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;redirectError&amp;lt;/code&amp;gt;''': átirányítási hiba esetén a Shibboleth erre az oldalra irányít át - ennek az [[isPassive]] -ot használó oldalaknál van jelentősége&lt;br /&gt;
&lt;br /&gt;
== ApplicationDefaults ==&lt;br /&gt;
Ennél a szekciónál tudjuk megadni az általános, minden alkalmazásra érvényes alapbeállításokat. Ezek a beállítások természetesen minden egyes alkalmazás tekintetében felüldefiniálhatók.&lt;br /&gt;
&lt;br /&gt;
====Alapattribútumok====&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; (kötelező)''': a alkalmazás elsődleges belső azonosítója. Az alapbeállíásoknál (tehát itt) elvárt érték:  '''&amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;policyId&amp;lt;/code&amp;gt; (kötelező)''': a vonatkozó id-jű '''&amp;lt;code&amp;gt;SecurityPoilicies&amp;lt;/code&amp;gt;''' szekcióra mutat&lt;br /&gt;
* '''&amp;lt;code&amp;gt;entityID&amp;lt;/code&amp;gt; (kötelező)''': egyedi azonosító, amely egyértelműen azonosít egy SP-t. A külső alkalmazások csak ezt az azonosítót látják, belső id-t...stb nem. Többnyire URL formátumú.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;homeURL&amp;lt;/code&amp;gt;''': &lt;br /&gt;
* '''&amp;lt;code&amp;gt;REMOTE_USER&amp;lt;/code&amp;gt;''': egy prioritási listát adhatunk meg, melynek elemei azok az attribútumok, melyek közül az az első nem NULL értékű kerül beállításra a HTTP_REMOTE_USER változóba&lt;br /&gt;
* '''&amp;lt;code&amp;gt;signing&amp;lt;/code&amp;gt;''': az XML üzenetek aláírtságára vonatkozó elvárások állíthatók be&lt;br /&gt;
* '''&amp;lt;code&amp;gt;encryption&amp;lt;/code&amp;gt;''': az XML üzenetek titkosítására vonatkozó elvárások állíthatók be&lt;br /&gt;
&lt;br /&gt;
=== Sessions ===&lt;br /&gt;
&lt;br /&gt;
Ennél a szekciónál állíthatjuk be, hogy az SP miként kezelje a Single Sign-on (SSO) folyamatának egyes részeit. Az alapparamétereken túl (session lejárati idő...stb) ún. handlerek találhatók benne. Természetesen az alapbeállítások alkalmazásonként felülírhatók az &amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;ApplicationOverride&amp;gt;&amp;lt;/code&amp;gt; résznél.&lt;br /&gt;
&lt;br /&gt;
====Handlerekről====&lt;br /&gt;
&lt;br /&gt;
A handlerek az SP-n belül működnek, de a fő folyamatoktól leválasztva. Egy-egy speciális feladatot látnak el - mintegy szkript jelleggel. Egy handler a megfelelő URL meghívásával érhető el. Ezen URL meghívásakor az SP felismeri, hogy mely handlert illeti az adott részfeladat megoldása, és átadja neki a feladat ellátásához szükséges paramétereket. Az SP-n belül egy &amp;quot;alaphandler&amp;quot; található, amely felel a handlereket illető feladatok kiosztásáért, ez jelenti majd a handlerek elérési útvonalában a gyökeret.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Alapattribútumok====&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;handlerURL&amp;lt;/code&amp;gt;''': Az alaphandler elérési útja. Alapértelmezés szerint: &amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;quot;/Shibboleth.sso&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;handlerSSL&amp;lt;/code&amp;gt;''': Beállítható, hogy kizárólag titkosított csatornán keresztül történhessen a handlerekkel való kommunikáció. Alapértelmezés szerint: &amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;true&amp;lt;/code&amp;gt;&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;lifetime&amp;lt;/code&amp;gt;''': Beállítható az SP session maximális hossza. Alapértelmezés szerint ez 28800 másodperc. Fontos megjegyezni, hogy az SP session megszűnése nincs közvetlen hatással a Shibboleth által védett alkalmazás által generált sessionre&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;timeout&amp;lt;/code&amp;gt;''': &lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;checkAddress&amp;lt;/code&amp;gt;''': Megadható, hogy az SP ellenőrizze-e, hogy a felhasználó IP címe egyezik-e az IdP által az asseirton-ben írttal. Alapértelmezés szerint: &amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;true&amp;lt;/code&amp;gt;&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;exportLocation&amp;lt;/code&amp;gt;''':&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;idpHistory&amp;lt;/code&amp;gt;''': Igaz érték esetén a SP beállít egy cookie-et, melyhez értékül adja azt az IdP-t, amelynél sikeres autentikáció történt. Alapértelmezés szerint: &amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;false&amp;lt;/code&amp;gt;&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;idpHistoryDays&amp;lt;/code&amp;gt;''': Megadhatjuk az &amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;idpHistory&amp;lt;/code&amp;gt; cookie érvényességi idejét napokban. Amennyiben nem kerül beállításra, akkor a cookie az adott munkamenet végén lejár&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SessionInitiator===&lt;br /&gt;
&lt;br /&gt;
Ennél a szekciónál kerülnek beállításra azok a paraméterek, melyek meghatározzák, hogy az SP kihez-mihez irányítsa a felhasználót, mikor az érvényes session nélkül (tehát autentikáció előtt) próbálja elérni a Shibboleth által védett tartalmat. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Alapattribútumok====&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;'''type'''&amp;lt;/code&amp;gt;: Meghatározza a SessionInitiator típusát. A főbb típusokat lásd lejjebb.&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;'''Location&amp;lt;/code&amp;gt;: Az URL, amely meghívásakor az adott SessionInitiator handler-e aktivizálódik.&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;'''id&amp;lt;/code&amp;gt;: (opcionális) Az adott SessionInitiator-re lehet ezen id által hivatkozni egyéb beállításoknál&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;'''entityID&amp;lt;/code&amp;gt;: Az SP az itt megadott értékben szereplő IdP-hez irányítja az autentikálni kívánó felhasználót&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;'''relayState&amp;lt;/code&amp;gt;: meghatározza, hogy...&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;'''acsByIndex&amp;lt;/code&amp;gt;: igaz érték esetén él a lehetőség, hogy a megfelelő AssertionConsumerService-hez ne teljes URI-val forduljunk, hanem elég legyen csak annak indexét megadnunk.&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;'''defaultACSIndex&amp;lt;/code&amp;gt;: az &amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;acsByIndex=&amp;quot;true&amp;quot;&amp;lt;/code&amp;gt; esetén beállítható, hogy alapértelmezés szerint mely indexxel rendelkező AssertionConsumerService-t használjuk&lt;br /&gt;
&lt;br /&gt;
====SessionInitiator főbb típusai====&lt;br /&gt;
*'''SAML2 SessionInitiator''' (Protocol Handler):&lt;br /&gt;
&amp;lt;code lang=xml&amp;gt;type=&amp;quot;SAML2&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
SAML2-es autentikációs folyamatot kezdeményez, és érti a SAML2 szabványon alapuló paramétereket. Mindenképp szükséges, hogy kapjon egy &amp;lt;code lang=xml&amp;gt;entityID&amp;lt;/code&amp;gt; paramétert, értékében egy valós IdP entityID-jával.&lt;br /&gt;
 &lt;br /&gt;
*'''SHIB1 SessionInitiator''' (Protocol Handler):&lt;br /&gt;
&amp;lt;code lang=xml&amp;gt;type=&amp;quot;SHIB1&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Shibboleth 1.x-es autentikációs folyamatot kezdeményez, és SAML 1.1 szabványon alapuló paramétereket ért. Mindenképp szükséges, hogy kapjon egy &amp;lt;code lang=xml&amp;gt;entityID&amp;lt;/code&amp;gt; paramétert, értékében egy valós IdP entityID-jával.&lt;br /&gt;
*'''SAMLDS SessionInitiator''' (Discovery Handler):&lt;br /&gt;
&amp;lt;code lang=xml&amp;gt;type=&amp;quot;SAMLDS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Az &amp;lt;code lang=xml&amp;gt;url&amp;lt;/code&amp;gt; attribútum értékeként megadott helyre irányítja a böngészőt, ahol SAML2 Discovery Service-t vár. A SAML2DS ismeri az [[isPassive]]-ot.&lt;br /&gt;
*'''WAYF SessionInitiator''' (Discovery Handler):&lt;br /&gt;
&amp;lt;code lang=xml&amp;gt;type=&amp;quot;WAYF&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Az &amp;lt;code lang=xml&amp;gt;url&amp;lt;/code&amp;gt; attribútum értékeként megadott helyre irányítja a böngészőt, ahol Shibboleth WAYF szolgáltatást vár.&lt;br /&gt;
*'''Chaining SessionInitiator''': &lt;br /&gt;
&amp;lt;code lang=xml&amp;gt;type=&amp;quot;Chaining&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Egy Chaining típusú SessionInitiator elem további SessionInitiator elemeket tartalmazhat, melyek felveszik a keret elem attribútumaiban meghatározott tulajdonságokat.&lt;br /&gt;
&lt;br /&gt;
=== MetadataProvider ===&lt;br /&gt;
&lt;br /&gt;
Ennél a szekciónál kell beállítani, hogy az SP milyen forrásokból jut hozzá a szükséges [[Metadata|metaadatokhoz]].&lt;br /&gt;
&lt;br /&gt;
'''A források 3 fő típusa'''&lt;br /&gt;
* XML MetadataProvider&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;xml&amp;quot;&amp;gt;type=&amp;quot;XML&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SAML2 szabványos XML fájlt tölt be a rendszer. A fájl lehet lokális, vagy távoli, webszerveren keresztül elérhető. Leggyakrabban használt típus. Példa:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;MetadataProvider type=&amp;quot;XML&amp;quot; uri=&amp;quot;https://metadata.eduid.hu/current/href.xml&amp;quot;&lt;br /&gt;
       backingFilePath=&amp;quot;href.xml&amp;quot; reloadInterval=&amp;quot;7200&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;SignatureMetadataFilter certificate=&amp;quot;href-metadata-signer-2020.crt&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A tanúsítvány innen szerezhető be: https://metadata.eduid.hu/certs/href-metadata-signer-2020.crt&lt;br /&gt;
&lt;br /&gt;
* Chaining MetadataProvider&lt;br /&gt;
További &amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;MetadataProvider&amp;lt;/code&amp;gt;-(eke)t tartalmazhat.&lt;br /&gt;
&lt;br /&gt;
* dinamikus, MDQ&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;MetadataProvider type=&amp;quot;MDQ&amp;quot; id=&amp;quot;href-2020&amp;quot; ignoreTransport=&amp;quot;true&amp;quot; baseUrl=&amp;quot;https://mdx.eduid.hu/&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;MetadataFilter type=&amp;quot;Signature&amp;quot; certificate=&amp;quot;href-metadata-signer-2020.crt&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;MetadataFilter type=&amp;quot;RequireValidUntil&amp;quot; maxValidityInterval=&amp;quot;864000&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A tanúsítvány innen szerezhető be: https://metadata.eduid.hu/certs/href-metadata-signer-2020.crt&lt;br /&gt;
&lt;br /&gt;
===ApplicationOverride===&lt;br /&gt;
Amennyiben az SP több alkalmazást kezel, és ezek között az alkalmazások között vannak olyanok, melyeknek valamely tulajdonsága nem egyezik az SP alapértelmezettként megadott tulajdonságaival (jellemzően ilyen lehet pl. az entityID), akkor ezeket ebben a szekcióban felül lehet definiálni.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Kiegészítő beállítások=&lt;br /&gt;
==POST preservation==&lt;br /&gt;
Ha legalább 2.2-es verziójú Shibboleth SP-t használunk, úgy lehetőségünk van egy olyan funkció beállítására, amely lehetővé teszi, hogy ha egy felhasználó valamilyen formba ír (pl. egy wikibe), akkor a küldés gomb megnyomásakor a shibboleth egy átmeneti helyen eltárolja a beírt adatokat. Ennek jelentősége, hogy ha írás közben lejárt volna a felhasználó sessionje, így alapértelmezés szerint a bejelentkező oldalra dobná a rendszer, ami által elveszne, amit begépelt, úgy bekapcsolt post preservation esetén ezek az adatok megmenekülnek, nem kell őket újra beírni.&lt;br /&gt;
&lt;br /&gt;
A funkció bekapcsolásához a &amp;lt;code&amp;gt;&amp;lt;Sessions&amp;gt;&amp;lt;/code&amp;gt; elem attribútumaként kell megadni az alábbi két név-érték párt.&lt;br /&gt;
* &amp;lt;code&amp;gt;postData=&amp;quot;ss:mem&amp;quot;&amp;lt;/code&amp;gt; , az érték mondja meg, hogy a form adatait az SP mely, a konfigurációs fájl elején definiált Storage Service-en keresztül tárolja. Alapértelmezés szerint a memóriában, de lehetőség van külső tároló megadására is. [https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPStorageService További információ a Storage Service-kről] &lt;br /&gt;
* &amp;lt;code&amp;gt;postTemplate=&amp;quot;/etc/shibboleth/postTemplate.html&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hiányossága a funkciónak, hogy ha a form tartalmaz &amp;lt;code&amp;gt;file&amp;lt;/code&amp;gt; típusú &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt; mezőt, akkor nem fog működni.&lt;br /&gt;
&lt;br /&gt;
=HREF integráció=&lt;br /&gt;
# Az SP-t regisztrálni kell a [[Resource_Registry#SP_regisztr.C3.A1ci.C3.B3|Resource Registry]]-ben&lt;br /&gt;
# Le kell tölteni a metadatához tartozó tanúsítványt a [https://metadata.eduid.hu/current/ https://metadata.eduid.hu/current/] címről, és elmenteni a shibboleth kofigurációs fájljait tartalmazó könyvtárba&lt;br /&gt;
# A [[#MetadataProvider|Metadata]] beállításoknál meg kell adni a HREF metadata elérhetőségét: [https://metadata.eduid.hu/current/href.xml https://metadata.eduid.hu/current/href.xml]&lt;br /&gt;
# Az &amp;lt;code&amp;gt;attribute-map.xml&amp;lt;/code&amp;gt; fájlban el kell távolítani a kommentjeleket azon [[HREFAttributeSpec|attribútumok]] elől, melyeket az SP használni kíván.&lt;br /&gt;
# Újra kell indítani a shibboleth démont.&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Shib2SP&amp;diff=5000</id>
		<title>Shib2SP</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Shib2SP&amp;diff=5000"/>
				<updated>2023-08-15T14:05:27Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: /* MetadataProvider */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az SP-t a '''&amp;lt;code&amp;gt;shibboleth2.xml&amp;lt;/code&amp;gt;''' állományon keresztül konfigurálhatjuk. Ebben a leírásban feltételezzük, hogy az SP konfigurációja a '''&amp;lt;code&amp;gt;/etc/shibboleth&amp;lt;/code&amp;gt;''' könyvtárban van.&lt;br /&gt;
&lt;br /&gt;
= Előkészületek =&lt;br /&gt;
* [[Shibboleth2_SP|Telepítsük a shibbolethet]]&lt;br /&gt;
* Válasszunk egy egyedi azonosítót, ún. &amp;lt;code&amp;gt;entityID&amp;lt;/code&amp;gt;-t az SP számára. Ez az azonosító URL formájú, létező hosztnév, egy - alapértelmezés szerint - /shibboleth path-szal. Pl: &amp;lt;code&amp;gt;https://lipton.aai.niif.hu/shibboleth&amp;lt;/code&amp;gt;. Megfelelő konfiguráció után az entityID-t meghívva válaszul az adott entitás metaadatát kapjuk válaszul.&lt;br /&gt;
&lt;br /&gt;
= Működő példa konfiguráció =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;SPConfig xmlns=&amp;quot;urn:mace:shibboleth:2.0:native:sp:config&amp;quot;&lt;br /&gt;
    xmlns:conf=&amp;quot;urn:mace:shibboleth:2.0:native:sp:config&amp;quot;&lt;br /&gt;
    xmlns:saml=&amp;quot;urn:oasis:names:tc:SAML:2.0:assertion&amp;quot;&lt;br /&gt;
    xmlns:samlp=&amp;quot;urn:oasis:names:tc:SAML:2.0:protocol&amp;quot;    &lt;br /&gt;
    xmlns:md=&amp;quot;urn:oasis:names:tc:SAML:2.0:metadata&amp;quot;&lt;br /&gt;
    logger=&amp;quot;syslog.logger&amp;quot; clockSkew=&amp;quot;180&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- The OutOfProcess section contains properties affecting the shibd daemon. --&amp;gt;&lt;br /&gt;
    &amp;lt;OutOfProcess logger=&amp;quot;shibd.logger&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!--&lt;br /&gt;
        &amp;lt;Extensions&amp;gt;&lt;br /&gt;
            &amp;lt;Library path=&amp;quot;odbc-store.so&amp;quot; fatal=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Extensions&amp;gt;&lt;br /&gt;
        --&amp;gt;&lt;br /&gt;
    &amp;lt;/OutOfProcess&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- The InProcess section conrains settings affecting web server modules/filters. --&amp;gt;&lt;br /&gt;
    &amp;lt;InProcess logger=&amp;quot;native.logger&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;/InProcess&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Only one listener can be defined, to connect in process modules to shibd. --&amp;gt;&lt;br /&gt;
    &amp;lt;UnixListener address=&amp;quot;shibd.sock&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;!-- &amp;lt;TCPListener address=&amp;quot;127.0.0.1&amp;quot; port=&amp;quot;12345&amp;quot; acl=&amp;quot;127.0.0.1&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- This set of components stores sessions and other persistent data in daemon memory. --&amp;gt;&lt;br /&gt;
    &amp;lt;StorageService type=&amp;quot;Memory&amp;quot; id=&amp;quot;mem&amp;quot; cleanupInterval=&amp;quot;900&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;SessionCache type=&amp;quot;StorageService&amp;quot; StorageService=&amp;quot;mem&amp;quot; cacheTimeout=&amp;quot;3600&amp;quot; inprocTimeout=&amp;quot;900&amp;quot; cleanupInterval=&amp;quot;900&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;ReplayCache StorageService=&amp;quot;mem&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;ArtifactMap artifactTTL=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- This set of components stores sessions and other persistent data in an ODBC database. --&amp;gt;&lt;br /&gt;
    &amp;lt;!--&lt;br /&gt;
    &amp;lt;StorageService type=&amp;quot;ODBC&amp;quot; id=&amp;quot;db&amp;quot; cleanupInterval=&amp;quot;900&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;ConnectionString&amp;gt;&lt;br /&gt;
        DRIVER=drivername;SERVER=dbserver;UID=shibboleth;PWD=password;DATABASE=shibboleth;APP=Shibboleth&lt;br /&gt;
        &amp;lt;/ConnectionString&amp;gt;&lt;br /&gt;
    &amp;lt;/StorageService&amp;gt;&lt;br /&gt;
    &amp;lt;SessionCache type=&amp;quot;StorageService&amp;quot; StorageService=&amp;quot;db&amp;quot; cacheTimeout=&amp;quot;3600&amp;quot; inprocTimeout=&amp;quot;900&amp;quot; cleanupInterval=&amp;quot;900&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;ReplayCache StorageService=&amp;quot;db&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;ArtifactMap StorageService=&amp;quot;db&amp;quot; artifactTTL=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
    --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- To customize behavior, map hostnames and path components to applicationId and other settings. --&amp;gt;&lt;br /&gt;
    &amp;lt;RequestMapper type=&amp;quot;Native&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;RequestMap applicationId=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;!--&lt;br /&gt;
            The example requires a session for documents in /secure on the containing host with http and&lt;br /&gt;
            https on the default ports. Note that the name and port in the &amp;lt;Host&amp;gt; elements MUST match&lt;br /&gt;
            Apache's ServerName and Port directives or the IIS Site name in the &amp;lt;ISAPI&amp;gt; element&lt;br /&gt;
            below.&lt;br /&gt;
            --&amp;gt;&lt;br /&gt;
		&amp;lt;Host name=&amp;quot;wiki.aai.niif.hu&amp;quot; authType=&amp;quot;shibboleth&amp;quot; &lt;br /&gt;
			  requireSession=&amp;quot;false&amp;quot; applicationId=&amp;quot;wiki.aai&amp;quot; &lt;br /&gt;
			  redirectErrors=&amp;quot;https://wiki.aai.niif.hu/index.php/Kezd%C5%91lap&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;Path name=&amp;quot;secure&amp;quot; requireSession=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/Host&amp;gt;&lt;br /&gt;
		&amp;lt;Host name=&amp;quot;www.aai.niif.hu&amp;quot; authType=&amp;quot;shibboleth&amp;quot; &lt;br /&gt;
			  requireSession=&amp;quot;false&amp;quot; applicationId=&amp;quot;www.aai&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;Path name=&amp;quot;secure&amp;quot; requireSession=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/Host&amp;gt;&lt;br /&gt;
        &amp;lt;/RequestMap&amp;gt;&lt;br /&gt;
    &amp;lt;/RequestMapper&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!--&lt;br /&gt;
    The ApplicationDefaults element is where most of Shibboleth's SAML bits are defined.&lt;br /&gt;
    Resource requests are mapped by the RequestMapper to an applicationId that&lt;br /&gt;
    points into to this section.&lt;br /&gt;
    --&amp;gt;&lt;br /&gt;
    &amp;lt;ApplicationDefaults id=&amp;quot;default&amp;quot; policyId=&amp;quot;default&amp;quot;&lt;br /&gt;
        entityID=&amp;quot;https://lipton.aai.niif.hu/shibboleth&amp;quot;&lt;br /&gt;
        homeURL=&amp;quot;https://lipton.aai.niif.hu/shib-error.php&amp;quot;&lt;br /&gt;
        REMOTE_USER=&amp;quot;eppn persistent-id targeted-id&amp;quot;&lt;br /&gt;
        signing=&amp;quot;false&amp;quot; encryption=&amp;quot;false&amp;quot;&lt;br /&gt;
        &amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!--&lt;br /&gt;
        Controls session lifetimes, address checks, cookie handling, and the protocol handlers.&lt;br /&gt;
        You MUST supply an effectively unique handlerURL value for each of your applications.&lt;br /&gt;
        The value can be a relative path, a URL with no hostname (https:///path) or a full URL.&lt;br /&gt;
        The system can compute a relative value based on the virtual host. Using handlerSSL=&amp;quot;true&amp;quot;&lt;br /&gt;
        will force the protocol to be https. You should also add a cookieProps setting of &amp;quot;; path=/; secure&amp;quot;&lt;br /&gt;
        in that case. Note that while we default checkAddress to &amp;quot;false&amp;quot;, this has a negative&lt;br /&gt;
        impact on the security of the SP. Stealing cookies/sessions is much easier with this disabled.&lt;br /&gt;
        --&amp;gt;&lt;br /&gt;
        &amp;lt;Sessions lifetime=&amp;quot;28800&amp;quot; timeout=&amp;quot;3600&amp;quot; checkAddress=&amp;quot;false&amp;quot;&lt;br /&gt;
            handlerURL=&amp;quot;/Shibboleth.sso&amp;quot; handlerSSL=&amp;quot;true&amp;quot;&lt;br /&gt;
            exportLocation=&amp;quot;http://localhost/Shibboleth.sso/GetAssertion&amp;quot;&lt;br /&gt;
            idpHistory=&amp;quot;false&amp;quot; idpHistoryDays=&amp;quot;7&amp;quot;&amp;gt;&lt;br /&gt;
            &lt;br /&gt;
            &amp;lt;!--&lt;br /&gt;
            SessionInitiators handle session requests and relay them to a Discovery page,&lt;br /&gt;
            or to an IdP if possible. Automatic session setup will use the default or first&lt;br /&gt;
            element (or requireSessionWith can specify a specific id to use).&lt;br /&gt;
            --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- Directly to the IdP --&amp;gt; &lt;br /&gt;
            &amp;lt;SessionInitiator type=&amp;quot;Chaining&amp;quot; Location=&amp;quot;/Login&amp;quot; id=&amp;quot;Intranet&amp;quot;&lt;br /&gt;
                    relayState=&amp;quot;cookie&amp;quot; entityID=&amp;quot;https://idp.niif.hu/shibboleth&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;SessionInitiator type=&amp;quot;SAML2&amp;quot; defaultACSIndex=&amp;quot;1&amp;quot; template=&amp;quot;bindingTemplate.html&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;SessionInitiator type=&amp;quot;Shib1&amp;quot; defaultACSIndex=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/SessionInitiator&amp;gt;&lt;br /&gt;
            &lt;br /&gt;
			&amp;lt;!-- Discovery Service --&amp;gt;&lt;br /&gt;
            &amp;lt;SessionInitiator type=&amp;quot;Chaining&amp;quot; Location=&amp;quot;/DS&amp;quot; id=&amp;quot;DS&amp;quot; &lt;br /&gt;
	                      relayState=&amp;quot;cookie&amp;quot; acsByIndex=&amp;quot;false&amp;quot; &lt;br /&gt;
			      isDefault=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
                &amp;lt;SessionInitiator type=&amp;quot;SAML2&amp;quot; template=&amp;quot;bindingTemplate.html&amp;quot;&lt;br /&gt;
				  defaultACSIndex=&amp;quot;3&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;SessionInitiator type=&amp;quot;Shib1&amp;quot; defaultACSIndex=&amp;quot;5&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;SessionInitiator type=&amp;quot;SAMLDS&amp;quot; URL=&amp;quot;https://ds.niif.hu/&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/SessionInitiator&amp;gt;&lt;br /&gt;
	    &amp;lt;SessionInitiator type=&amp;quot;Chaining&amp;quot; Location=&amp;quot;/SAML1DS&amp;quot; acsByIndex=&amp;quot;false&amp;quot; relayState=&amp;quot;cookie&amp;quot; &lt;br /&gt;
			      id=&amp;quot;Saml1Only&amp;quot;&amp;gt;&lt;br /&gt;
            	&amp;lt;SessionInitiator type=&amp;quot;Shib1&amp;quot; defaultACSIndex=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
            	&amp;lt;SessionInitiator type=&amp;quot;SAMLDS&amp;quot; URL=&amp;quot;https://ds.niif.hu&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/SessionInitiator&amp;gt;&lt;br /&gt;
            &lt;br /&gt;
            &amp;lt;!--&lt;br /&gt;
            md:AssertionConsumerService locations handle specific SSO protocol bindings,&lt;br /&gt;
            such as SAML 2.0 POST or SAML 1.1 Artifact. The isDefault and index attributes&lt;br /&gt;
            are used when sessions are initiated to determine how to tell the IdP where and&lt;br /&gt;
            how to return the response.&lt;br /&gt;
            --&amp;gt;&lt;br /&gt;
            &amp;lt;md:AssertionConsumerService Location=&amp;quot;/SAML2/POST&amp;quot; index=&amp;quot;1&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:AssertionConsumerService Location=&amp;quot;/SAML2/POST-SimpleSign&amp;quot; index=&amp;quot;2&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:AssertionConsumerService Location=&amp;quot;/SAML2/Artifact&amp;quot; index=&amp;quot;3&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:AssertionConsumerService Location=&amp;quot;/SAML2/ECP&amp;quot; index=&amp;quot;4&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:PAOS&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:AssertionConsumerService Location=&amp;quot;/SAML/POST&amp;quot; index=&amp;quot;5&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:1.0:profiles:browser-post&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:AssertionConsumerService Location=&amp;quot;/SAML/Artifact&amp;quot; index=&amp;quot;6&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:1.0:profiles:artifact-01&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- LogoutInitiators enable SP-initiated local or global/single logout of sessions. --&amp;gt;&lt;br /&gt;
            &amp;lt;LogoutInitiator type=&amp;quot;Chaining&amp;quot; Location=&amp;quot;/Logout&amp;quot; relayState=&amp;quot;cookie&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;LogoutInitiator type=&amp;quot;SAML2&amp;quot; template=&amp;quot;bindingTemplate.html&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;LogoutInitiator type=&amp;quot;Local&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/LogoutInitiator&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- md:SingleLogoutService locations handle single logout (SLO) protocol messages. --&amp;gt;&lt;br /&gt;
            &amp;lt;md:SingleLogoutService Location=&amp;quot;/SLO/SOAP&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:SOAP&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:SingleLogoutService Location=&amp;quot;/SLO/Redirect&amp;quot; conf:template=&amp;quot;bindingTemplate.html&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:SingleLogoutService Location=&amp;quot;/SLO/POST&amp;quot; conf:template=&amp;quot;bindingTemplate.html&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:SingleLogoutService Location=&amp;quot;/SLO/Artifact&amp;quot; conf:template=&amp;quot;bindingTemplate.html&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- md:ManageNameIDService locations handle NameID management (NIM) protocol messages. --&amp;gt;&lt;br /&gt;
            &amp;lt;md:ManageNameIDService Location=&amp;quot;/NIM/SOAP&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:SOAP&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:ManageNameIDService Location=&amp;quot;/NIM/Redirect&amp;quot; conf:template=&amp;quot;bindingTemplate.html&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:ManageNameIDService Location=&amp;quot;/NIM/POST&amp;quot; conf:template=&amp;quot;bindingTemplate.html&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:ManageNameIDService Location=&amp;quot;/NIM/Artifact&amp;quot; conf:template=&amp;quot;bindingTemplate.html&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!--&lt;br /&gt;
            md:ArtifactResolutionService locations resolve artifacts issued when using the&lt;br /&gt;
            SAML 2.0 HTTP-Artifact binding on outgoing messages, generally uses SOAP.&lt;br /&gt;
            --&amp;gt;&lt;br /&gt;
            &amp;lt;md:ArtifactResolutionService Location=&amp;quot;/Artifact/SOAP&amp;quot; index=&amp;quot;1&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:SOAP&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- Extension service that generates &amp;quot;approximate&amp;quot; metadata based on SP configuration. --&amp;gt;&lt;br /&gt;
            &amp;lt;Handler type=&amp;quot;MetadataGenerator&amp;quot; Location=&amp;quot;/Metadata&amp;quot; signing=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- Status reporting service. --&amp;gt;&lt;br /&gt;
            &amp;lt;Handler type=&amp;quot;Status&amp;quot; Location=&amp;quot;/Status&amp;quot; acl=&amp;quot;127.0.0.1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- Session diagnostic service. --&amp;gt;&lt;br /&gt;
            &amp;lt;Handler type=&amp;quot;Session&amp;quot; Location=&amp;quot;/Session&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;/Sessions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!--&lt;br /&gt;
        You should customize these pages! You can add attributes with values that can be plugged&lt;br /&gt;
        into your templates. You can remove the access attribute to cause the module to return a&lt;br /&gt;
        standard 403 Forbidden error code if authorization fails, and then customize that condition&lt;br /&gt;
        using your web server.&lt;br /&gt;
        --&amp;gt;&lt;br /&gt;
        &amp;lt;Errors session=&amp;quot;sessionError.html&amp;quot;&lt;br /&gt;
            metadata=&amp;quot;metadataError.html&amp;quot;&lt;br /&gt;
            access=&amp;quot;accessError.html&amp;quot;&lt;br /&gt;
            ssl=&amp;quot;sslError.html&amp;quot;&lt;br /&gt;
            localLogout=&amp;quot;localLogout.html&amp;quot;&lt;br /&gt;
            globalLogout=&amp;quot;globalLogout.html&amp;quot;&lt;br /&gt;
            supportContact=&amp;quot;root@localhost&amp;quot;&lt;br /&gt;
            logoLocation=&amp;quot;/shibboleth-sp/logo.jpg&amp;quot;&lt;br /&gt;
            styleSheet=&amp;quot;/shibboleth-sp/main.css&amp;quot;/&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;!-- Uncomment and modify to tweak settings for specific IdPs or groups. --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- &amp;lt;RelyingParty Name=&amp;quot;SpecialFederation&amp;quot; keyName=&amp;quot;SpecialKey&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Chains together all your metadata sources. --&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataProvider type=&amp;quot;Chaining&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;MetadataProvider type=&amp;quot;XML&amp;quot; uri=&amp;quot;https://metadata.eduid.hu/current/href.xml&amp;quot;&lt;br /&gt;
               backingFilePath=&amp;quot;href.xml&amp;quot; reloadInterval=&amp;quot;7200&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;SignatureMetadataFilter certificate=&amp;quot;href-metadata-signer-2010.crt&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
           &amp;lt;MetadataProvider type=&amp;quot;XML&amp;quot; uri=&amp;quot;https://metadata.eduid.hu/current/niifi.xml&amp;quot;&lt;br /&gt;
               backingFilePath=&amp;quot;niifi.xml&amp;quot; reloadInterval=&amp;quot;7200&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;SignatureMetadataFilter certificate=&amp;quot;href-metadata-signer-2010.crt&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
        &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Chain the two built-in trust engines together. --&amp;gt;&lt;br /&gt;
        &amp;lt;TrustEngine type=&amp;quot;Chaining&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;TrustEngine type=&amp;quot;ExplicitKey&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;TrustEngine type=&amp;quot;PKIX&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/TrustEngine&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Map to extract attributes from SAML assertions. --&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeExtractor type=&amp;quot;XML&amp;quot; path=&amp;quot;attribute-map.xml&amp;quot;/&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;!-- Use a SAML query if no attributes are supplied during SSO. --&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeResolver type=&amp;quot;Query&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Default filtering policy for recognized attributes, lets other data pass. --&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeFilter type=&amp;quot;XML&amp;quot; path=&amp;quot;attribute-policy.xml&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Simple file-based resolver for using a single keypair. --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- &amp;lt;CredentialResolver type=&amp;quot;File&amp;quot; key=&amp;quot;example.key&amp;quot; certificate=&amp;quot;example.crt&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Example of a second application (using a second vhost) that has a different entityID. --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- &amp;lt;ApplicationOverride id=&amp;quot;admin&amp;quot; entityID=&amp;quot;https://admin.example.org/shibboleth&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
	&amp;lt;ApplicationOverride id=&amp;quot;wiki.aai&amp;quot; entityID=&amp;quot;https://wiki.aai.niif.hu/shibboleth&amp;quot; &amp;gt;&lt;br /&gt;
		&amp;lt;CredentialResolver type=&amp;quot;File&amp;quot; key=&amp;quot;wiki.aai.niif.hu.key&amp;quot; &lt;br /&gt;
				    certificate=&amp;quot;wiki.aai.niif.hu.crt&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/ApplicationOverride&amp;gt;&lt;br /&gt;
	&amp;lt;ApplicationOverride id=&amp;quot;www.aai&amp;quot; entityID=&amp;quot;https://www.aai.niif.hu/shibboleth&amp;quot; &amp;gt;&lt;br /&gt;
		&amp;lt;CredentialResolver type=&amp;quot;File&amp;quot; key=&amp;quot;www.aai.niif.hu.key&amp;quot; &lt;br /&gt;
				    certificate=&amp;quot;www.aai.niif.hu.crt&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/ApplicationOverride&amp;gt;&lt;br /&gt;
    &amp;lt;/ApplicationDefaults&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- Each policy defines a set of rules to use to secure messages. --&amp;gt;&lt;br /&gt;
    &amp;lt;SecurityPolicies&amp;gt;&lt;br /&gt;
        &amp;lt;!--&lt;br /&gt;
        The predefined policy enforces replay/freshness, standard&lt;br /&gt;
        condition processing, and permits signing and client TLS.&lt;br /&gt;
        --&amp;gt;&lt;br /&gt;
        &amp;lt;Policy id=&amp;quot;default&amp;quot; validate=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PolicyRule type=&amp;quot;MessageFlow&amp;quot; checkReplay=&amp;quot;true&amp;quot; expires=&amp;quot;60&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;PolicyRule type=&amp;quot;Conditions&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;PolicyRule type=&amp;quot;Audience&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Enable Delegation rule to permit delegated access. --&amp;gt;&lt;br /&gt;
                &amp;lt;!-- &amp;lt;PolicyRule type=&amp;quot;Delegation&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
            &amp;lt;/PolicyRule&amp;gt;&lt;br /&gt;
            &amp;lt;PolicyRule type=&amp;quot;ClientCertAuth&amp;quot; errorFatal=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;PolicyRule type=&amp;quot;XMLSigning&amp;quot; errorFatal=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;PolicyRule type=&amp;quot;SimpleSigning&amp;quot; errorFatal=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Policy&amp;gt;&lt;br /&gt;
    &amp;lt;/SecurityPolicies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/SPConfig&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Minimális beállítások =&lt;br /&gt;
&lt;br /&gt;
== Környezeti beállítások ==&lt;br /&gt;
&lt;br /&gt;
A konfigurációs fájl első negyedében lévő szekciókban elsősorban a Shibboleth futásával kapcsolatos beállítások találhatók, amelyek alapértelmezett értékei legtöbbször megfelelőek az általunk elvárt működéshez.&lt;br /&gt;
* &amp;lt;code&amp;gt;OutOfProcess&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;InProcess&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;UnixListener&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;StorageService&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;SessionCache&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ReplayCache&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ArtifactMap&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RequestMap ==&lt;br /&gt;
&lt;br /&gt;
A RequestMap megadja azokat a címeket (Host és Path), amelyeket a Shibboleth SP kezelni fog. Szerkezete:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;RequestMap applicationId=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Host name=&amp;quot;wiki.aai.niif.hu&amp;quot; authType=&amp;quot;shibboleth&amp;quot; &lt;br /&gt;
			  requireSession=&amp;quot;false&amp;quot; applicationId=&amp;quot;wiki.aai&amp;quot; &lt;br /&gt;
			  redirectErrors=&amp;quot;https://wiki.aai.niif.hu/index.php/Kezd%C5%91lap&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;Path name=&amp;quot;secure&amp;quot; requireSession=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/Host&amp;gt;&lt;br /&gt;
		&amp;lt;Host name=&amp;quot;www.aai.niif.hu&amp;quot; authType=&amp;quot;shibboleth&amp;quot; &lt;br /&gt;
			  requireSession=&amp;quot;false&amp;quot; applicationId=&amp;quot;www.aai&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;Path name=&amp;quot;secure&amp;quot; requireSession=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/Host&amp;gt;&lt;br /&gt;
        &amp;lt;/RequestMap&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A RequestMap több Host elemet is tartalmazhat, a Host elem 0 vagy több Path elemet tartalmazhat.&lt;br /&gt;
{{ATTENTION|Ha 1-nél nagyobb mélységű könyvtárat (pl. a &amp;lt;code&amp;gt;/shibtest/shibreq&amp;lt;/code&amp;gt; nevűt) szeretnénk védeni, akkor '''nem''' adhatjuk meg a ''name'' paraméterben a &amp;quot;shibtest/shibreq&amp;quot; értéket, hanem egymásba ágyazott Path elemeket kell használni. A ''name'' paraméter nem tartalmazhat '/' karaktert.}}&lt;br /&gt;
&lt;br /&gt;
Az egyes elemeknél paraméterekkel szabályozhatjuk, hogy az SP milyen módon kezelje a hostot vagy az útvonalat. A paraméterek felüldefiniálhatók. A legfontosabb paraméterek az alábbiak (ezek ugyanúgy használhatók Host-nál mint Path-nál):&lt;br /&gt;
* '''&amp;lt;code&amp;gt;requireSession&amp;lt;/code&amp;gt;''': ha értéke &amp;quot;true&amp;quot;, akkor az SP csak akkor továbbítja a HTTP request-et az alkalmazás ill. a webszerver felé, ha sikerült létrehozni egy autentikált session-t. Ha &amp;quot;false&amp;quot;, akkor az alkalmazás felelős azért, hogy létrehozza a Shibboleth session-t (ún. [[ShibSPLazy | lazy session]]) Alapértelmezés: &amp;quot;false&amp;quot;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;exportAssertion&amp;lt;/code&amp;gt;''': ha értéke &amp;quot;true&amp;quot;, akkor az SP átadja a teljes, IdP-től kapott Attribute Assertion-t az alkalmazásnak a SHIB_ATTRIBUTES HTTP mezőben (base64 kódolással). Alapértelmezés: &amp;quot;false&amp;quot;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;applicationId&amp;lt;/code&amp;gt;''': lehetőség van arra, hogy bizonyos helyekre érkező kérésekre az SP más és más módon próbáljon meg session-t létrehozni, ezt ún. [[ShibSPApplication | Shibboleth Application]]-ben konfigurálhatjuk. Ha nem adunk meg értéket, akkor a &amp;quot;default&amp;quot; application-nél megadott értékek vonatkoznak majd a session-re.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;redirectError&amp;lt;/code&amp;gt;''': átirányítási hiba esetén a Shibboleth erre az oldalra irányít át - ennek az [[isPassive]] -ot használó oldalaknál van jelentősége&lt;br /&gt;
&lt;br /&gt;
== ApplicationDefaults ==&lt;br /&gt;
Ennél a szekciónál tudjuk megadni az általános, minden alkalmazásra érvényes alapbeállításokat. Ezek a beállítások természetesen minden egyes alkalmazás tekintetében felüldefiniálhatók.&lt;br /&gt;
&lt;br /&gt;
====Alapattribútumok====&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; (kötelező)''': a alkalmazás elsődleges belső azonosítója. Az alapbeállíásoknál (tehát itt) elvárt érték:  '''&amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;policyId&amp;lt;/code&amp;gt; (kötelező)''': a vonatkozó id-jű '''&amp;lt;code&amp;gt;SecurityPoilicies&amp;lt;/code&amp;gt;''' szekcióra mutat&lt;br /&gt;
* '''&amp;lt;code&amp;gt;entityID&amp;lt;/code&amp;gt; (kötelező)''': egyedi azonosító, amely egyértelműen azonosít egy SP-t. A külső alkalmazások csak ezt az azonosítót látják, belső id-t...stb nem. Többnyire URL formátumú.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;homeURL&amp;lt;/code&amp;gt;''': &lt;br /&gt;
* '''&amp;lt;code&amp;gt;REMOTE_USER&amp;lt;/code&amp;gt;''': egy prioritási listát adhatunk meg, melynek elemei azok az attribútumok, melyek közül az az első nem NULL értékű kerül beállításra a HTTP_REMOTE_USER változóba&lt;br /&gt;
* '''&amp;lt;code&amp;gt;signing&amp;lt;/code&amp;gt;''': az XML üzenetek aláírtságára vonatkozó elvárások állíthatók be&lt;br /&gt;
* '''&amp;lt;code&amp;gt;encryption&amp;lt;/code&amp;gt;''': az XML üzenetek titkosítására vonatkozó elvárások állíthatók be&lt;br /&gt;
&lt;br /&gt;
=== Sessions ===&lt;br /&gt;
&lt;br /&gt;
Ennél a szekciónál állíthatjuk be, hogy az SP miként kezelje a Single Sign-on (SSO) folyamatának egyes részeit. Az alapparamétereken túl (session lejárati idő...stb) ún. handlerek találhatók benne. Természetesen az alapbeállítások alkalmazásonként felülírhatók az &amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;ApplicationOverride&amp;gt;&amp;lt;/code&amp;gt; résznél.&lt;br /&gt;
&lt;br /&gt;
====Handlerekről====&lt;br /&gt;
&lt;br /&gt;
A handlerek az SP-n belül működnek, de a fő folyamatoktól leválasztva. Egy-egy speciális feladatot látnak el - mintegy szkript jelleggel. Egy handler a megfelelő URL meghívásával érhető el. Ezen URL meghívásakor az SP felismeri, hogy mely handlert illeti az adott részfeladat megoldása, és átadja neki a feladat ellátásához szükséges paramétereket. Az SP-n belül egy &amp;quot;alaphandler&amp;quot; található, amely felel a handlereket illető feladatok kiosztásáért, ez jelenti majd a handlerek elérési útvonalában a gyökeret.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Alapattribútumok====&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;handlerURL&amp;lt;/code&amp;gt;''': Az alaphandler elérési útja. Alapértelmezés szerint: &amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;quot;/Shibboleth.sso&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;handlerSSL&amp;lt;/code&amp;gt;''': Beállítható, hogy kizárólag titkosított csatornán keresztül történhessen a handlerekkel való kommunikáció. Alapértelmezés szerint: &amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;true&amp;lt;/code&amp;gt;&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;lifetime&amp;lt;/code&amp;gt;''': Beállítható az SP session maximális hossza. Alapértelmezés szerint ez 28800 másodperc. Fontos megjegyezni, hogy az SP session megszűnése nincs közvetlen hatással a Shibboleth által védett alkalmazás által generált sessionre&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;timeout&amp;lt;/code&amp;gt;''': &lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;checkAddress&amp;lt;/code&amp;gt;''': Megadható, hogy az SP ellenőrizze-e, hogy a felhasználó IP címe egyezik-e az IdP által az asseirton-ben írttal. Alapértelmezés szerint: &amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;true&amp;lt;/code&amp;gt;&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;exportLocation&amp;lt;/code&amp;gt;''':&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;idpHistory&amp;lt;/code&amp;gt;''': Igaz érték esetén a SP beállít egy cookie-et, melyhez értékül adja azt az IdP-t, amelynél sikeres autentikáció történt. Alapértelmezés szerint: &amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;false&amp;lt;/code&amp;gt;&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;idpHistoryDays&amp;lt;/code&amp;gt;''': Megadhatjuk az &amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;idpHistory&amp;lt;/code&amp;gt; cookie érvényességi idejét napokban. Amennyiben nem kerül beállításra, akkor a cookie az adott munkamenet végén lejár&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SessionInitiator===&lt;br /&gt;
&lt;br /&gt;
Ennél a szekciónál kerülnek beállításra azok a paraméterek, melyek meghatározzák, hogy az SP kihez-mihez irányítsa a felhasználót, mikor az érvényes session nélkül (tehát autentikáció előtt) próbálja elérni a Shibboleth által védett tartalmat. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Alapattribútumok====&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;'''type'''&amp;lt;/code&amp;gt;: Meghatározza a SessionInitiator típusát. A főbb típusokat lásd lejjebb.&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;'''Location&amp;lt;/code&amp;gt;: Az URL, amely meghívásakor az adott SessionInitiator handler-e aktivizálódik.&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;'''id&amp;lt;/code&amp;gt;: (opcionális) Az adott SessionInitiator-re lehet ezen id által hivatkozni egyéb beállításoknál&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;'''entityID&amp;lt;/code&amp;gt;: Az SP az itt megadott értékben szereplő IdP-hez irányítja az autentikálni kívánó felhasználót&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;'''relayState&amp;lt;/code&amp;gt;: meghatározza, hogy...&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;'''acsByIndex&amp;lt;/code&amp;gt;: igaz érték esetén él a lehetőség, hogy a megfelelő AssertionConsumerService-hez ne teljes URI-val forduljunk, hanem elég legyen csak annak indexét megadnunk.&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;'''defaultACSIndex&amp;lt;/code&amp;gt;: az &amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;acsByIndex=&amp;quot;true&amp;quot;&amp;lt;/code&amp;gt; esetén beállítható, hogy alapértelmezés szerint mely indexxel rendelkező AssertionConsumerService-t használjuk&lt;br /&gt;
&lt;br /&gt;
====SessionInitiator főbb típusai====&lt;br /&gt;
*'''SAML2 SessionInitiator''' (Protocol Handler):&lt;br /&gt;
&amp;lt;code lang=xml&amp;gt;type=&amp;quot;SAML2&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
SAML2-es autentikációs folyamatot kezdeményez, és érti a SAML2 szabványon alapuló paramétereket. Mindenképp szükséges, hogy kapjon egy &amp;lt;code lang=xml&amp;gt;entityID&amp;lt;/code&amp;gt; paramétert, értékében egy valós IdP entityID-jával.&lt;br /&gt;
 &lt;br /&gt;
*'''SHIB1 SessionInitiator''' (Protocol Handler):&lt;br /&gt;
&amp;lt;code lang=xml&amp;gt;type=&amp;quot;SHIB1&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Shibboleth 1.x-es autentikációs folyamatot kezdeményez, és SAML 1.1 szabványon alapuló paramétereket ért. Mindenképp szükséges, hogy kapjon egy &amp;lt;code lang=xml&amp;gt;entityID&amp;lt;/code&amp;gt; paramétert, értékében egy valós IdP entityID-jával.&lt;br /&gt;
*'''SAMLDS SessionInitiator''' (Discovery Handler):&lt;br /&gt;
&amp;lt;code lang=xml&amp;gt;type=&amp;quot;SAMLDS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Az &amp;lt;code lang=xml&amp;gt;url&amp;lt;/code&amp;gt; attribútum értékeként megadott helyre irányítja a böngészőt, ahol SAML2 Discovery Service-t vár. A SAML2DS ismeri az [[isPassive]]-ot.&lt;br /&gt;
*'''WAYF SessionInitiator''' (Discovery Handler):&lt;br /&gt;
&amp;lt;code lang=xml&amp;gt;type=&amp;quot;WAYF&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Az &amp;lt;code lang=xml&amp;gt;url&amp;lt;/code&amp;gt; attribútum értékeként megadott helyre irányítja a böngészőt, ahol Shibboleth WAYF szolgáltatást vár.&lt;br /&gt;
*'''Chaining SessionInitiator''': &lt;br /&gt;
&amp;lt;code lang=xml&amp;gt;type=&amp;quot;Chaining&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Egy Chaining típusú SessionInitiator elem további SessionInitiator elemeket tartalmazhat, melyek felveszik a keret elem attribútumaiban meghatározott tulajdonságokat.&lt;br /&gt;
&lt;br /&gt;
=== MetadataProvider ===&lt;br /&gt;
&lt;br /&gt;
Ennél a szekciónál kell beállítani, hogy az SP milyen forrásokból jut hozzá a szükséges [[Metadata|metaadatokhoz]].&lt;br /&gt;
&lt;br /&gt;
'''A források 3 fő típusa'''&lt;br /&gt;
* XML MetadataProvider&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;xml&amp;quot;&amp;gt;type=&amp;quot;XML&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SAML2 szabványos XML fájlt tölt be a rendszer. A fájl lehet lokális, vagy távoli, webszerveren keresztül elérhető. Leggyakrabban használt típus. Példa:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;MetadataProvider type=&amp;quot;XML&amp;quot; uri=&amp;quot;https://metadata.eduid.hu/current/href.xml&amp;quot;&lt;br /&gt;
       backingFilePath=&amp;quot;href.xml&amp;quot; reloadInterval=&amp;quot;7200&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;SignatureMetadataFilter certificate=&amp;quot;href-metadata-signer-2020.crt&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A tanúsítvány innen szerezhető be: https://metadata.eduid.hu/certs/href-metadata-signer-2020.crt&lt;br /&gt;
&lt;br /&gt;
* Chaining MetadataProvider&lt;br /&gt;
További &amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;MetadataProvider&amp;lt;/code&amp;gt;-(eke)t tartalmazhat.&lt;br /&gt;
&lt;br /&gt;
* dinamikus, MDQ&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;MetadataProvider type=&amp;quot;MDQ&amp;quot; id=&amp;quot;href-2020&amp;quot; ignoreTransport=&amp;quot;true&amp;quot; baseUrl=&amp;quot;https://mdx.eduid.hu/&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;MetadataFilter type=&amp;quot;Signature&amp;quot; certificate=&amp;quot;href-metadata-signer-2020.crt&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;MetadataFilter type=&amp;quot;RequireValidUntil&amp;quot; maxValidityInterval=&amp;quot;864000&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A tanúsítvány innen szerezhető be: https://metadata.eduid.hu/certs/href-metadata-signer-2020.crt&lt;br /&gt;
&lt;br /&gt;
===ApplicationOverride===&lt;br /&gt;
Amennyiben az SP több alkalmazást kezel, és ezek között az alkalmazások között vannak olyanok, melyeknek valamely tulajdonsága nem egyezik az SP alapértelmezettként megadott tulajdonságaival (jellemzően ilyen lehet pl. az entityID), akkor ezeket ebben a szekcióban felül lehet definiálni.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Kiegészítő beállítások=&lt;br /&gt;
==POST preservation==&lt;br /&gt;
Ha legalább 2.2-es verziójú Shibboleth SP-t használunk, úgy lehetőségünk van egy olyan funkció beállítására, amely lehetővé teszi, hogy ha egy felhasználó valamilyen formba ír (pl. egy wikibe), akkor a küldés gomb megnyomásakor a shibboleth egy átmeneti helyen eltárolja a beírt adatokat. Ennek jelentősége, hogy ha írás közben lejárt volna a felhasználó sessionje, így alapértelmezés szerint a bejelentkező oldalra dobná a rendszer, ami által elveszne, amit begépelt, úgy bekapcsolt post preservation esetén ezek az adatok megmenekülnek, nem kell őket újra beírni.&lt;br /&gt;
&lt;br /&gt;
A funkció bekapcsolásához a &amp;lt;code&amp;gt;&amp;lt;Sessions&amp;gt;&amp;lt;/code&amp;gt; elem attribútumaként kell megadni az alábbi két név-érték párt.&lt;br /&gt;
* &amp;lt;code&amp;gt;postData=&amp;quot;ss:mem&amp;quot;&amp;lt;/code&amp;gt; , az érték mondja meg, hogy a form adatait az SP mely, a konfigurációs fájl elején definiált Storage Service-en keresztül tárolja. Alapértelmezés szerint a memóriában, de lehetőség van külső tároló megadására is. [https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPStorageService További információ a Storage Service-kről] &lt;br /&gt;
* &amp;lt;code&amp;gt;postTemplate=&amp;quot;/etc/shibboleth/postTemplate.html&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hiányossága a funkciónak, hogy ha a form tartalmaz &amp;lt;code&amp;gt;file&amp;lt;/code&amp;gt; típusú &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt; mezőt, akkor nem fog működni.&lt;br /&gt;
&lt;br /&gt;
=HREF integráció=&lt;br /&gt;
# Az SP-t regisztrálni kell a [[Resource_Registry#SP_regisztr.C3.A1ci.C3.B3|Resource Registry]]-ben&lt;br /&gt;
# Le kell tölteni a metadatához tartozó tanúsítványt a [https://metadata.eduid.hu/current/ https://metadata.eduid.hu/current/] címről, és elmenteni a shibboleth kofigurációs fájljait tartalmazó könyvtárba&lt;br /&gt;
# A [[#MetadataProvider|Metadata]] beállításoknál meg kell adni a HREF metadata elérhetőségét: [https://metadata.eduid.hu/current/href.xml https://metadata.eduid.hu/current/href.xml]&lt;br /&gt;
# Az &amp;lt;code&amp;gt;attribute-map.xml&amp;lt;/code&amp;gt; fájlban el kell távolítani a kommentjeleket azon [[HREFAttributeSpec|attribútumok]] elől, melyeket az SP használni kíván.&lt;br /&gt;
# Újra kell indítani a shibboleth démont.&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Shib2SP&amp;diff=4999</id>
		<title>Shib2SP</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Shib2SP&amp;diff=4999"/>
				<updated>2023-08-15T14:03:25Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: /* MetadataProvider */ MDQ felvétele&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az SP-t a '''&amp;lt;code&amp;gt;shibboleth2.xml&amp;lt;/code&amp;gt;''' állományon keresztül konfigurálhatjuk. Ebben a leírásban feltételezzük, hogy az SP konfigurációja a '''&amp;lt;code&amp;gt;/etc/shibboleth&amp;lt;/code&amp;gt;''' könyvtárban van.&lt;br /&gt;
&lt;br /&gt;
= Előkészületek =&lt;br /&gt;
* [[Shibboleth2_SP|Telepítsük a shibbolethet]]&lt;br /&gt;
* Válasszunk egy egyedi azonosítót, ún. &amp;lt;code&amp;gt;entityID&amp;lt;/code&amp;gt;-t az SP számára. Ez az azonosító URL formájú, létező hosztnév, egy - alapértelmezés szerint - /shibboleth path-szal. Pl: &amp;lt;code&amp;gt;https://lipton.aai.niif.hu/shibboleth&amp;lt;/code&amp;gt;. Megfelelő konfiguráció után az entityID-t meghívva válaszul az adott entitás metaadatát kapjuk válaszul.&lt;br /&gt;
&lt;br /&gt;
= Működő példa konfiguráció =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;SPConfig xmlns=&amp;quot;urn:mace:shibboleth:2.0:native:sp:config&amp;quot;&lt;br /&gt;
    xmlns:conf=&amp;quot;urn:mace:shibboleth:2.0:native:sp:config&amp;quot;&lt;br /&gt;
    xmlns:saml=&amp;quot;urn:oasis:names:tc:SAML:2.0:assertion&amp;quot;&lt;br /&gt;
    xmlns:samlp=&amp;quot;urn:oasis:names:tc:SAML:2.0:protocol&amp;quot;    &lt;br /&gt;
    xmlns:md=&amp;quot;urn:oasis:names:tc:SAML:2.0:metadata&amp;quot;&lt;br /&gt;
    logger=&amp;quot;syslog.logger&amp;quot; clockSkew=&amp;quot;180&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- The OutOfProcess section contains properties affecting the shibd daemon. --&amp;gt;&lt;br /&gt;
    &amp;lt;OutOfProcess logger=&amp;quot;shibd.logger&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;!--&lt;br /&gt;
        &amp;lt;Extensions&amp;gt;&lt;br /&gt;
            &amp;lt;Library path=&amp;quot;odbc-store.so&amp;quot; fatal=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Extensions&amp;gt;&lt;br /&gt;
        --&amp;gt;&lt;br /&gt;
    &amp;lt;/OutOfProcess&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- The InProcess section conrains settings affecting web server modules/filters. --&amp;gt;&lt;br /&gt;
    &amp;lt;InProcess logger=&amp;quot;native.logger&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;/InProcess&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Only one listener can be defined, to connect in process modules to shibd. --&amp;gt;&lt;br /&gt;
    &amp;lt;UnixListener address=&amp;quot;shibd.sock&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;!-- &amp;lt;TCPListener address=&amp;quot;127.0.0.1&amp;quot; port=&amp;quot;12345&amp;quot; acl=&amp;quot;127.0.0.1&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- This set of components stores sessions and other persistent data in daemon memory. --&amp;gt;&lt;br /&gt;
    &amp;lt;StorageService type=&amp;quot;Memory&amp;quot; id=&amp;quot;mem&amp;quot; cleanupInterval=&amp;quot;900&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;SessionCache type=&amp;quot;StorageService&amp;quot; StorageService=&amp;quot;mem&amp;quot; cacheTimeout=&amp;quot;3600&amp;quot; inprocTimeout=&amp;quot;900&amp;quot; cleanupInterval=&amp;quot;900&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;ReplayCache StorageService=&amp;quot;mem&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;ArtifactMap artifactTTL=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- This set of components stores sessions and other persistent data in an ODBC database. --&amp;gt;&lt;br /&gt;
    &amp;lt;!--&lt;br /&gt;
    &amp;lt;StorageService type=&amp;quot;ODBC&amp;quot; id=&amp;quot;db&amp;quot; cleanupInterval=&amp;quot;900&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;ConnectionString&amp;gt;&lt;br /&gt;
        DRIVER=drivername;SERVER=dbserver;UID=shibboleth;PWD=password;DATABASE=shibboleth;APP=Shibboleth&lt;br /&gt;
        &amp;lt;/ConnectionString&amp;gt;&lt;br /&gt;
    &amp;lt;/StorageService&amp;gt;&lt;br /&gt;
    &amp;lt;SessionCache type=&amp;quot;StorageService&amp;quot; StorageService=&amp;quot;db&amp;quot; cacheTimeout=&amp;quot;3600&amp;quot; inprocTimeout=&amp;quot;900&amp;quot; cleanupInterval=&amp;quot;900&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;ReplayCache StorageService=&amp;quot;db&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;ArtifactMap StorageService=&amp;quot;db&amp;quot; artifactTTL=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
    --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- To customize behavior, map hostnames and path components to applicationId and other settings. --&amp;gt;&lt;br /&gt;
    &amp;lt;RequestMapper type=&amp;quot;Native&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;RequestMap applicationId=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;!--&lt;br /&gt;
            The example requires a session for documents in /secure on the containing host with http and&lt;br /&gt;
            https on the default ports. Note that the name and port in the &amp;lt;Host&amp;gt; elements MUST match&lt;br /&gt;
            Apache's ServerName and Port directives or the IIS Site name in the &amp;lt;ISAPI&amp;gt; element&lt;br /&gt;
            below.&lt;br /&gt;
            --&amp;gt;&lt;br /&gt;
		&amp;lt;Host name=&amp;quot;wiki.aai.niif.hu&amp;quot; authType=&amp;quot;shibboleth&amp;quot; &lt;br /&gt;
			  requireSession=&amp;quot;false&amp;quot; applicationId=&amp;quot;wiki.aai&amp;quot; &lt;br /&gt;
			  redirectErrors=&amp;quot;https://wiki.aai.niif.hu/index.php/Kezd%C5%91lap&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;Path name=&amp;quot;secure&amp;quot; requireSession=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/Host&amp;gt;&lt;br /&gt;
		&amp;lt;Host name=&amp;quot;www.aai.niif.hu&amp;quot; authType=&amp;quot;shibboleth&amp;quot; &lt;br /&gt;
			  requireSession=&amp;quot;false&amp;quot; applicationId=&amp;quot;www.aai&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;Path name=&amp;quot;secure&amp;quot; requireSession=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/Host&amp;gt;&lt;br /&gt;
        &amp;lt;/RequestMap&amp;gt;&lt;br /&gt;
    &amp;lt;/RequestMapper&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!--&lt;br /&gt;
    The ApplicationDefaults element is where most of Shibboleth's SAML bits are defined.&lt;br /&gt;
    Resource requests are mapped by the RequestMapper to an applicationId that&lt;br /&gt;
    points into to this section.&lt;br /&gt;
    --&amp;gt;&lt;br /&gt;
    &amp;lt;ApplicationDefaults id=&amp;quot;default&amp;quot; policyId=&amp;quot;default&amp;quot;&lt;br /&gt;
        entityID=&amp;quot;https://lipton.aai.niif.hu/shibboleth&amp;quot;&lt;br /&gt;
        homeURL=&amp;quot;https://lipton.aai.niif.hu/shib-error.php&amp;quot;&lt;br /&gt;
        REMOTE_USER=&amp;quot;eppn persistent-id targeted-id&amp;quot;&lt;br /&gt;
        signing=&amp;quot;false&amp;quot; encryption=&amp;quot;false&amp;quot;&lt;br /&gt;
        &amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!--&lt;br /&gt;
        Controls session lifetimes, address checks, cookie handling, and the protocol handlers.&lt;br /&gt;
        You MUST supply an effectively unique handlerURL value for each of your applications.&lt;br /&gt;
        The value can be a relative path, a URL with no hostname (https:///path) or a full URL.&lt;br /&gt;
        The system can compute a relative value based on the virtual host. Using handlerSSL=&amp;quot;true&amp;quot;&lt;br /&gt;
        will force the protocol to be https. You should also add a cookieProps setting of &amp;quot;; path=/; secure&amp;quot;&lt;br /&gt;
        in that case. Note that while we default checkAddress to &amp;quot;false&amp;quot;, this has a negative&lt;br /&gt;
        impact on the security of the SP. Stealing cookies/sessions is much easier with this disabled.&lt;br /&gt;
        --&amp;gt;&lt;br /&gt;
        &amp;lt;Sessions lifetime=&amp;quot;28800&amp;quot; timeout=&amp;quot;3600&amp;quot; checkAddress=&amp;quot;false&amp;quot;&lt;br /&gt;
            handlerURL=&amp;quot;/Shibboleth.sso&amp;quot; handlerSSL=&amp;quot;true&amp;quot;&lt;br /&gt;
            exportLocation=&amp;quot;http://localhost/Shibboleth.sso/GetAssertion&amp;quot;&lt;br /&gt;
            idpHistory=&amp;quot;false&amp;quot; idpHistoryDays=&amp;quot;7&amp;quot;&amp;gt;&lt;br /&gt;
            &lt;br /&gt;
            &amp;lt;!--&lt;br /&gt;
            SessionInitiators handle session requests and relay them to a Discovery page,&lt;br /&gt;
            or to an IdP if possible. Automatic session setup will use the default or first&lt;br /&gt;
            element (or requireSessionWith can specify a specific id to use).&lt;br /&gt;
            --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- Directly to the IdP --&amp;gt; &lt;br /&gt;
            &amp;lt;SessionInitiator type=&amp;quot;Chaining&amp;quot; Location=&amp;quot;/Login&amp;quot; id=&amp;quot;Intranet&amp;quot;&lt;br /&gt;
                    relayState=&amp;quot;cookie&amp;quot; entityID=&amp;quot;https://idp.niif.hu/shibboleth&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;SessionInitiator type=&amp;quot;SAML2&amp;quot; defaultACSIndex=&amp;quot;1&amp;quot; template=&amp;quot;bindingTemplate.html&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;SessionInitiator type=&amp;quot;Shib1&amp;quot; defaultACSIndex=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/SessionInitiator&amp;gt;&lt;br /&gt;
            &lt;br /&gt;
			&amp;lt;!-- Discovery Service --&amp;gt;&lt;br /&gt;
            &amp;lt;SessionInitiator type=&amp;quot;Chaining&amp;quot; Location=&amp;quot;/DS&amp;quot; id=&amp;quot;DS&amp;quot; &lt;br /&gt;
	                      relayState=&amp;quot;cookie&amp;quot; acsByIndex=&amp;quot;false&amp;quot; &lt;br /&gt;
			      isDefault=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
                &amp;lt;SessionInitiator type=&amp;quot;SAML2&amp;quot; template=&amp;quot;bindingTemplate.html&amp;quot;&lt;br /&gt;
				  defaultACSIndex=&amp;quot;3&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;SessionInitiator type=&amp;quot;Shib1&amp;quot; defaultACSIndex=&amp;quot;5&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;SessionInitiator type=&amp;quot;SAMLDS&amp;quot; URL=&amp;quot;https://ds.niif.hu/&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/SessionInitiator&amp;gt;&lt;br /&gt;
	    &amp;lt;SessionInitiator type=&amp;quot;Chaining&amp;quot; Location=&amp;quot;/SAML1DS&amp;quot; acsByIndex=&amp;quot;false&amp;quot; relayState=&amp;quot;cookie&amp;quot; &lt;br /&gt;
			      id=&amp;quot;Saml1Only&amp;quot;&amp;gt;&lt;br /&gt;
            	&amp;lt;SessionInitiator type=&amp;quot;Shib1&amp;quot; defaultACSIndex=&amp;quot;6&amp;quot;/&amp;gt;&lt;br /&gt;
            	&amp;lt;SessionInitiator type=&amp;quot;SAMLDS&amp;quot; URL=&amp;quot;https://ds.niif.hu&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/SessionInitiator&amp;gt;&lt;br /&gt;
            &lt;br /&gt;
            &amp;lt;!--&lt;br /&gt;
            md:AssertionConsumerService locations handle specific SSO protocol bindings,&lt;br /&gt;
            such as SAML 2.0 POST or SAML 1.1 Artifact. The isDefault and index attributes&lt;br /&gt;
            are used when sessions are initiated to determine how to tell the IdP where and&lt;br /&gt;
            how to return the response.&lt;br /&gt;
            --&amp;gt;&lt;br /&gt;
            &amp;lt;md:AssertionConsumerService Location=&amp;quot;/SAML2/POST&amp;quot; index=&amp;quot;1&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:AssertionConsumerService Location=&amp;quot;/SAML2/POST-SimpleSign&amp;quot; index=&amp;quot;2&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:AssertionConsumerService Location=&amp;quot;/SAML2/Artifact&amp;quot; index=&amp;quot;3&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:AssertionConsumerService Location=&amp;quot;/SAML2/ECP&amp;quot; index=&amp;quot;4&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:PAOS&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:AssertionConsumerService Location=&amp;quot;/SAML/POST&amp;quot; index=&amp;quot;5&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:1.0:profiles:browser-post&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:AssertionConsumerService Location=&amp;quot;/SAML/Artifact&amp;quot; index=&amp;quot;6&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:1.0:profiles:artifact-01&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- LogoutInitiators enable SP-initiated local or global/single logout of sessions. --&amp;gt;&lt;br /&gt;
            &amp;lt;LogoutInitiator type=&amp;quot;Chaining&amp;quot; Location=&amp;quot;/Logout&amp;quot; relayState=&amp;quot;cookie&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;LogoutInitiator type=&amp;quot;SAML2&amp;quot; template=&amp;quot;bindingTemplate.html&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;LogoutInitiator type=&amp;quot;Local&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/LogoutInitiator&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- md:SingleLogoutService locations handle single logout (SLO) protocol messages. --&amp;gt;&lt;br /&gt;
            &amp;lt;md:SingleLogoutService Location=&amp;quot;/SLO/SOAP&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:SOAP&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:SingleLogoutService Location=&amp;quot;/SLO/Redirect&amp;quot; conf:template=&amp;quot;bindingTemplate.html&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:SingleLogoutService Location=&amp;quot;/SLO/POST&amp;quot; conf:template=&amp;quot;bindingTemplate.html&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:SingleLogoutService Location=&amp;quot;/SLO/Artifact&amp;quot; conf:template=&amp;quot;bindingTemplate.html&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- md:ManageNameIDService locations handle NameID management (NIM) protocol messages. --&amp;gt;&lt;br /&gt;
            &amp;lt;md:ManageNameIDService Location=&amp;quot;/NIM/SOAP&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:SOAP&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:ManageNameIDService Location=&amp;quot;/NIM/Redirect&amp;quot; conf:template=&amp;quot;bindingTemplate.html&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:ManageNameIDService Location=&amp;quot;/NIM/POST&amp;quot; conf:template=&amp;quot;bindingTemplate.html&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;md:ManageNameIDService Location=&amp;quot;/NIM/Artifact&amp;quot; conf:template=&amp;quot;bindingTemplate.html&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!--&lt;br /&gt;
            md:ArtifactResolutionService locations resolve artifacts issued when using the&lt;br /&gt;
            SAML 2.0 HTTP-Artifact binding on outgoing messages, generally uses SOAP.&lt;br /&gt;
            --&amp;gt;&lt;br /&gt;
            &amp;lt;md:ArtifactResolutionService Location=&amp;quot;/Artifact/SOAP&amp;quot; index=&amp;quot;1&amp;quot;&lt;br /&gt;
                Binding=&amp;quot;urn:oasis:names:tc:SAML:2.0:bindings:SOAP&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- Extension service that generates &amp;quot;approximate&amp;quot; metadata based on SP configuration. --&amp;gt;&lt;br /&gt;
            &amp;lt;Handler type=&amp;quot;MetadataGenerator&amp;quot; Location=&amp;quot;/Metadata&amp;quot; signing=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- Status reporting service. --&amp;gt;&lt;br /&gt;
            &amp;lt;Handler type=&amp;quot;Status&amp;quot; Location=&amp;quot;/Status&amp;quot; acl=&amp;quot;127.0.0.1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- Session diagnostic service. --&amp;gt;&lt;br /&gt;
            &amp;lt;Handler type=&amp;quot;Session&amp;quot; Location=&amp;quot;/Session&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;/Sessions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!--&lt;br /&gt;
        You should customize these pages! You can add attributes with values that can be plugged&lt;br /&gt;
        into your templates. You can remove the access attribute to cause the module to return a&lt;br /&gt;
        standard 403 Forbidden error code if authorization fails, and then customize that condition&lt;br /&gt;
        using your web server.&lt;br /&gt;
        --&amp;gt;&lt;br /&gt;
        &amp;lt;Errors session=&amp;quot;sessionError.html&amp;quot;&lt;br /&gt;
            metadata=&amp;quot;metadataError.html&amp;quot;&lt;br /&gt;
            access=&amp;quot;accessError.html&amp;quot;&lt;br /&gt;
            ssl=&amp;quot;sslError.html&amp;quot;&lt;br /&gt;
            localLogout=&amp;quot;localLogout.html&amp;quot;&lt;br /&gt;
            globalLogout=&amp;quot;globalLogout.html&amp;quot;&lt;br /&gt;
            supportContact=&amp;quot;root@localhost&amp;quot;&lt;br /&gt;
            logoLocation=&amp;quot;/shibboleth-sp/logo.jpg&amp;quot;&lt;br /&gt;
            styleSheet=&amp;quot;/shibboleth-sp/main.css&amp;quot;/&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;!-- Uncomment and modify to tweak settings for specific IdPs or groups. --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- &amp;lt;RelyingParty Name=&amp;quot;SpecialFederation&amp;quot; keyName=&amp;quot;SpecialKey&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Chains together all your metadata sources. --&amp;gt;&lt;br /&gt;
        &amp;lt;MetadataProvider type=&amp;quot;Chaining&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;MetadataProvider type=&amp;quot;XML&amp;quot; uri=&amp;quot;https://metadata.eduid.hu/current/href.xml&amp;quot;&lt;br /&gt;
               backingFilePath=&amp;quot;href.xml&amp;quot; reloadInterval=&amp;quot;7200&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;SignatureMetadataFilter certificate=&amp;quot;href-metadata-signer-2010.crt&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
           &amp;lt;MetadataProvider type=&amp;quot;XML&amp;quot; uri=&amp;quot;https://metadata.eduid.hu/current/niifi.xml&amp;quot;&lt;br /&gt;
               backingFilePath=&amp;quot;niifi.xml&amp;quot; reloadInterval=&amp;quot;7200&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;SignatureMetadataFilter certificate=&amp;quot;href-metadata-signer-2010.crt&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
        &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Chain the two built-in trust engines together. --&amp;gt;&lt;br /&gt;
        &amp;lt;TrustEngine type=&amp;quot;Chaining&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;TrustEngine type=&amp;quot;ExplicitKey&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;TrustEngine type=&amp;quot;PKIX&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/TrustEngine&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Map to extract attributes from SAML assertions. --&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeExtractor type=&amp;quot;XML&amp;quot; path=&amp;quot;attribute-map.xml&amp;quot;/&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;!-- Use a SAML query if no attributes are supplied during SSO. --&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeResolver type=&amp;quot;Query&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Default filtering policy for recognized attributes, lets other data pass. --&amp;gt;&lt;br /&gt;
        &amp;lt;AttributeFilter type=&amp;quot;XML&amp;quot; path=&amp;quot;attribute-policy.xml&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Simple file-based resolver for using a single keypair. --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- &amp;lt;CredentialResolver type=&amp;quot;File&amp;quot; key=&amp;quot;example.key&amp;quot; certificate=&amp;quot;example.crt&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;!-- Example of a second application (using a second vhost) that has a different entityID. --&amp;gt;&lt;br /&gt;
        &amp;lt;!-- &amp;lt;ApplicationOverride id=&amp;quot;admin&amp;quot; entityID=&amp;quot;https://admin.example.org/shibboleth&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
	&amp;lt;ApplicationOverride id=&amp;quot;wiki.aai&amp;quot; entityID=&amp;quot;https://wiki.aai.niif.hu/shibboleth&amp;quot; &amp;gt;&lt;br /&gt;
		&amp;lt;CredentialResolver type=&amp;quot;File&amp;quot; key=&amp;quot;wiki.aai.niif.hu.key&amp;quot; &lt;br /&gt;
				    certificate=&amp;quot;wiki.aai.niif.hu.crt&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/ApplicationOverride&amp;gt;&lt;br /&gt;
	&amp;lt;ApplicationOverride id=&amp;quot;www.aai&amp;quot; entityID=&amp;quot;https://www.aai.niif.hu/shibboleth&amp;quot; &amp;gt;&lt;br /&gt;
		&amp;lt;CredentialResolver type=&amp;quot;File&amp;quot; key=&amp;quot;www.aai.niif.hu.key&amp;quot; &lt;br /&gt;
				    certificate=&amp;quot;www.aai.niif.hu.crt&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/ApplicationOverride&amp;gt;&lt;br /&gt;
    &amp;lt;/ApplicationDefaults&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- Each policy defines a set of rules to use to secure messages. --&amp;gt;&lt;br /&gt;
    &amp;lt;SecurityPolicies&amp;gt;&lt;br /&gt;
        &amp;lt;!--&lt;br /&gt;
        The predefined policy enforces replay/freshness, standard&lt;br /&gt;
        condition processing, and permits signing and client TLS.&lt;br /&gt;
        --&amp;gt;&lt;br /&gt;
        &amp;lt;Policy id=&amp;quot;default&amp;quot; validate=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;PolicyRule type=&amp;quot;MessageFlow&amp;quot; checkReplay=&amp;quot;true&amp;quot; expires=&amp;quot;60&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;PolicyRule type=&amp;quot;Conditions&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;PolicyRule type=&amp;quot;Audience&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Enable Delegation rule to permit delegated access. --&amp;gt;&lt;br /&gt;
                &amp;lt;!-- &amp;lt;PolicyRule type=&amp;quot;Delegation&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
            &amp;lt;/PolicyRule&amp;gt;&lt;br /&gt;
            &amp;lt;PolicyRule type=&amp;quot;ClientCertAuth&amp;quot; errorFatal=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;PolicyRule type=&amp;quot;XMLSigning&amp;quot; errorFatal=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;PolicyRule type=&amp;quot;SimpleSigning&amp;quot; errorFatal=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Policy&amp;gt;&lt;br /&gt;
    &amp;lt;/SecurityPolicies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/SPConfig&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Minimális beállítások =&lt;br /&gt;
&lt;br /&gt;
== Környezeti beállítások ==&lt;br /&gt;
&lt;br /&gt;
A konfigurációs fájl első negyedében lévő szekciókban elsősorban a Shibboleth futásával kapcsolatos beállítások találhatók, amelyek alapértelmezett értékei legtöbbször megfelelőek az általunk elvárt működéshez.&lt;br /&gt;
* &amp;lt;code&amp;gt;OutOfProcess&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;InProcess&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;UnixListener&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;StorageService&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;SessionCache&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ReplayCache&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;ArtifactMap&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RequestMap ==&lt;br /&gt;
&lt;br /&gt;
A RequestMap megadja azokat a címeket (Host és Path), amelyeket a Shibboleth SP kezelni fog. Szerkezete:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;RequestMap applicationId=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Host name=&amp;quot;wiki.aai.niif.hu&amp;quot; authType=&amp;quot;shibboleth&amp;quot; &lt;br /&gt;
			  requireSession=&amp;quot;false&amp;quot; applicationId=&amp;quot;wiki.aai&amp;quot; &lt;br /&gt;
			  redirectErrors=&amp;quot;https://wiki.aai.niif.hu/index.php/Kezd%C5%91lap&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;Path name=&amp;quot;secure&amp;quot; requireSession=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/Host&amp;gt;&lt;br /&gt;
		&amp;lt;Host name=&amp;quot;www.aai.niif.hu&amp;quot; authType=&amp;quot;shibboleth&amp;quot; &lt;br /&gt;
			  requireSession=&amp;quot;false&amp;quot; applicationId=&amp;quot;www.aai&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;Path name=&amp;quot;secure&amp;quot; requireSession=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/Host&amp;gt;&lt;br /&gt;
        &amp;lt;/RequestMap&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A RequestMap több Host elemet is tartalmazhat, a Host elem 0 vagy több Path elemet tartalmazhat.&lt;br /&gt;
{{ATTENTION|Ha 1-nél nagyobb mélységű könyvtárat (pl. a &amp;lt;code&amp;gt;/shibtest/shibreq&amp;lt;/code&amp;gt; nevűt) szeretnénk védeni, akkor '''nem''' adhatjuk meg a ''name'' paraméterben a &amp;quot;shibtest/shibreq&amp;quot; értéket, hanem egymásba ágyazott Path elemeket kell használni. A ''name'' paraméter nem tartalmazhat '/' karaktert.}}&lt;br /&gt;
&lt;br /&gt;
Az egyes elemeknél paraméterekkel szabályozhatjuk, hogy az SP milyen módon kezelje a hostot vagy az útvonalat. A paraméterek felüldefiniálhatók. A legfontosabb paraméterek az alábbiak (ezek ugyanúgy használhatók Host-nál mint Path-nál):&lt;br /&gt;
* '''&amp;lt;code&amp;gt;requireSession&amp;lt;/code&amp;gt;''': ha értéke &amp;quot;true&amp;quot;, akkor az SP csak akkor továbbítja a HTTP request-et az alkalmazás ill. a webszerver felé, ha sikerült létrehozni egy autentikált session-t. Ha &amp;quot;false&amp;quot;, akkor az alkalmazás felelős azért, hogy létrehozza a Shibboleth session-t (ún. [[ShibSPLazy | lazy session]]) Alapértelmezés: &amp;quot;false&amp;quot;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;exportAssertion&amp;lt;/code&amp;gt;''': ha értéke &amp;quot;true&amp;quot;, akkor az SP átadja a teljes, IdP-től kapott Attribute Assertion-t az alkalmazásnak a SHIB_ATTRIBUTES HTTP mezőben (base64 kódolással). Alapértelmezés: &amp;quot;false&amp;quot;&lt;br /&gt;
* '''&amp;lt;code&amp;gt;applicationId&amp;lt;/code&amp;gt;''': lehetőség van arra, hogy bizonyos helyekre érkező kérésekre az SP más és más módon próbáljon meg session-t létrehozni, ezt ún. [[ShibSPApplication | Shibboleth Application]]-ben konfigurálhatjuk. Ha nem adunk meg értéket, akkor a &amp;quot;default&amp;quot; application-nél megadott értékek vonatkoznak majd a session-re.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;redirectError&amp;lt;/code&amp;gt;''': átirányítási hiba esetén a Shibboleth erre az oldalra irányít át - ennek az [[isPassive]] -ot használó oldalaknál van jelentősége&lt;br /&gt;
&lt;br /&gt;
== ApplicationDefaults ==&lt;br /&gt;
Ennél a szekciónál tudjuk megadni az általános, minden alkalmazásra érvényes alapbeállításokat. Ezek a beállítások természetesen minden egyes alkalmazás tekintetében felüldefiniálhatók.&lt;br /&gt;
&lt;br /&gt;
====Alapattribútumok====&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; (kötelező)''': a alkalmazás elsődleges belső azonosítója. Az alapbeállíásoknál (tehát itt) elvárt érték:  '''&amp;lt;code&amp;gt;default&amp;lt;/code&amp;gt;'''&lt;br /&gt;
* '''&amp;lt;code&amp;gt;policyId&amp;lt;/code&amp;gt; (kötelező)''': a vonatkozó id-jű '''&amp;lt;code&amp;gt;SecurityPoilicies&amp;lt;/code&amp;gt;''' szekcióra mutat&lt;br /&gt;
* '''&amp;lt;code&amp;gt;entityID&amp;lt;/code&amp;gt; (kötelező)''': egyedi azonosító, amely egyértelműen azonosít egy SP-t. A külső alkalmazások csak ezt az azonosítót látják, belső id-t...stb nem. Többnyire URL formátumú.&lt;br /&gt;
* '''&amp;lt;code&amp;gt;homeURL&amp;lt;/code&amp;gt;''': &lt;br /&gt;
* '''&amp;lt;code&amp;gt;REMOTE_USER&amp;lt;/code&amp;gt;''': egy prioritási listát adhatunk meg, melynek elemei azok az attribútumok, melyek közül az az első nem NULL értékű kerül beállításra a HTTP_REMOTE_USER változóba&lt;br /&gt;
* '''&amp;lt;code&amp;gt;signing&amp;lt;/code&amp;gt;''': az XML üzenetek aláírtságára vonatkozó elvárások állíthatók be&lt;br /&gt;
* '''&amp;lt;code&amp;gt;encryption&amp;lt;/code&amp;gt;''': az XML üzenetek titkosítására vonatkozó elvárások állíthatók be&lt;br /&gt;
&lt;br /&gt;
=== Sessions ===&lt;br /&gt;
&lt;br /&gt;
Ennél a szekciónál állíthatjuk be, hogy az SP miként kezelje a Single Sign-on (SSO) folyamatának egyes részeit. Az alapparamétereken túl (session lejárati idő...stb) ún. handlerek találhatók benne. Természetesen az alapbeállítások alkalmazásonként felülírhatók az &amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;ApplicationOverride&amp;gt;&amp;lt;/code&amp;gt; résznél.&lt;br /&gt;
&lt;br /&gt;
====Handlerekről====&lt;br /&gt;
&lt;br /&gt;
A handlerek az SP-n belül működnek, de a fő folyamatoktól leválasztva. Egy-egy speciális feladatot látnak el - mintegy szkript jelleggel. Egy handler a megfelelő URL meghívásával érhető el. Ezen URL meghívásakor az SP felismeri, hogy mely handlert illeti az adott részfeladat megoldása, és átadja neki a feladat ellátásához szükséges paramétereket. Az SP-n belül egy &amp;quot;alaphandler&amp;quot; található, amely felel a handlereket illető feladatok kiosztásáért, ez jelenti majd a handlerek elérési útvonalában a gyökeret.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Alapattribútumok====&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;handlerURL&amp;lt;/code&amp;gt;''': Az alaphandler elérési útja. Alapértelmezés szerint: &amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;quot;/Shibboleth.sso&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;handlerSSL&amp;lt;/code&amp;gt;''': Beállítható, hogy kizárólag titkosított csatornán keresztül történhessen a handlerekkel való kommunikáció. Alapértelmezés szerint: &amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;true&amp;lt;/code&amp;gt;&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;lifetime&amp;lt;/code&amp;gt;''': Beállítható az SP session maximális hossza. Alapértelmezés szerint ez 28800 másodperc. Fontos megjegyezni, hogy az SP session megszűnése nincs közvetlen hatással a Shibboleth által védett alkalmazás által generált sessionre&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;timeout&amp;lt;/code&amp;gt;''': &lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;checkAddress&amp;lt;/code&amp;gt;''': Megadható, hogy az SP ellenőrizze-e, hogy a felhasználó IP címe egyezik-e az IdP által az asseirton-ben írttal. Alapértelmezés szerint: &amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;true&amp;lt;/code&amp;gt;&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;exportLocation&amp;lt;/code&amp;gt;''':&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;idpHistory&amp;lt;/code&amp;gt;''': Igaz érték esetén a SP beállít egy cookie-et, melyhez értékül adja azt az IdP-t, amelynél sikeres autentikáció történt. Alapértelmezés szerint: &amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;false&amp;lt;/code&amp;gt;&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;idpHistoryDays&amp;lt;/code&amp;gt;''': Megadhatjuk az &amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;idpHistory&amp;lt;/code&amp;gt; cookie érvényességi idejét napokban. Amennyiben nem kerül beállításra, akkor a cookie az adott munkamenet végén lejár&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SessionInitiator===&lt;br /&gt;
&lt;br /&gt;
Ennél a szekciónál kerülnek beállításra azok a paraméterek, melyek meghatározzák, hogy az SP kihez-mihez irányítsa a felhasználót, mikor az érvényes session nélkül (tehát autentikáció előtt) próbálja elérni a Shibboleth által védett tartalmat. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Alapattribútumok====&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;'''type'''&amp;lt;/code&amp;gt;: Meghatározza a SessionInitiator típusát. A főbb típusokat lásd lejjebb.&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;'''Location&amp;lt;/code&amp;gt;: Az URL, amely meghívásakor az adott SessionInitiator handler-e aktivizálódik.&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;'''id&amp;lt;/code&amp;gt;: (opcionális) Az adott SessionInitiator-re lehet ezen id által hivatkozni egyéb beállításoknál&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;'''entityID&amp;lt;/code&amp;gt;: Az SP az itt megadott értékben szereplő IdP-hez irányítja az autentikálni kívánó felhasználót&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;'''relayState&amp;lt;/code&amp;gt;: meghatározza, hogy...&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;'''acsByIndex&amp;lt;/code&amp;gt;: igaz érték esetén él a lehetőség, hogy a megfelelő AssertionConsumerService-hez ne teljes URI-val forduljunk, hanem elég legyen csak annak indexét megadnunk.&lt;br /&gt;
*'''&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;'''defaultACSIndex&amp;lt;/code&amp;gt;: az &amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;acsByIndex=&amp;quot;true&amp;quot;&amp;lt;/code&amp;gt; esetén beállítható, hogy alapértelmezés szerint mely indexxel rendelkező AssertionConsumerService-t használjuk&lt;br /&gt;
&lt;br /&gt;
====SessionInitiator főbb típusai====&lt;br /&gt;
*'''SAML2 SessionInitiator''' (Protocol Handler):&lt;br /&gt;
&amp;lt;code lang=xml&amp;gt;type=&amp;quot;SAML2&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
SAML2-es autentikációs folyamatot kezdeményez, és érti a SAML2 szabványon alapuló paramétereket. Mindenképp szükséges, hogy kapjon egy &amp;lt;code lang=xml&amp;gt;entityID&amp;lt;/code&amp;gt; paramétert, értékében egy valós IdP entityID-jával.&lt;br /&gt;
 &lt;br /&gt;
*'''SHIB1 SessionInitiator''' (Protocol Handler):&lt;br /&gt;
&amp;lt;code lang=xml&amp;gt;type=&amp;quot;SHIB1&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Shibboleth 1.x-es autentikációs folyamatot kezdeményez, és SAML 1.1 szabványon alapuló paramétereket ért. Mindenképp szükséges, hogy kapjon egy &amp;lt;code lang=xml&amp;gt;entityID&amp;lt;/code&amp;gt; paramétert, értékében egy valós IdP entityID-jával.&lt;br /&gt;
*'''SAMLDS SessionInitiator''' (Discovery Handler):&lt;br /&gt;
&amp;lt;code lang=xml&amp;gt;type=&amp;quot;SAMLDS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Az &amp;lt;code lang=xml&amp;gt;url&amp;lt;/code&amp;gt; attribútum értékeként megadott helyre irányítja a böngészőt, ahol SAML2 Discovery Service-t vár. A SAML2DS ismeri az [[isPassive]]-ot.&lt;br /&gt;
*'''WAYF SessionInitiator''' (Discovery Handler):&lt;br /&gt;
&amp;lt;code lang=xml&amp;gt;type=&amp;quot;WAYF&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Az &amp;lt;code lang=xml&amp;gt;url&amp;lt;/code&amp;gt; attribútum értékeként megadott helyre irányítja a böngészőt, ahol Shibboleth WAYF szolgáltatást vár.&lt;br /&gt;
*'''Chaining SessionInitiator''': &lt;br /&gt;
&amp;lt;code lang=xml&amp;gt;type=&amp;quot;Chaining&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Egy Chaining típusú SessionInitiator elem további SessionInitiator elemeket tartalmazhat, melyek felveszik a keret elem attribútumaiban meghatározott tulajdonságokat.&lt;br /&gt;
&lt;br /&gt;
=== MetadataProvider ===&lt;br /&gt;
&lt;br /&gt;
Ennél a szekciónál kell beállítani, hogy az SP milyen forrásokból jut hozzá a szükséges [[Metadata|metaadatokhoz]].&lt;br /&gt;
&lt;br /&gt;
'''A források 3 fő típusa'''&lt;br /&gt;
* XML MetadataProvider&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;xml&amp;quot;&amp;gt;type=&amp;quot;XML&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SAML2 szabványos XML fájlt tölt be a rendszer. A fájl lehet lokális, vagy távoli, webszerveren keresztül elérhető. Leggyakrabban használt típus. Példa:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;MetadataProvider type=&amp;quot;XML&amp;quot; uri=&amp;quot;https://metadata.eduid.hu/current/href.xml&amp;quot;&lt;br /&gt;
       backingFilePath=&amp;quot;href.xml&amp;quot; reloadInterval=&amp;quot;7200&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;SignatureMetadataFilter certificate=&amp;quot;href-metadata-signer-2010.crt&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Chaining MetadataProvider&lt;br /&gt;
További &amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;MetadataProvider&amp;lt;/code&amp;gt;-(eke)t tartalmazhat.&lt;br /&gt;
&lt;br /&gt;
* dinamikus, MDQ&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;MetadataProvider type=&amp;quot;MDQ&amp;quot; id=&amp;quot;href-2020&amp;quot; ignoreTransport=&amp;quot;true&amp;quot; baseUrl=&amp;quot;https://mdx.eduid.hu/&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;MetadataFilter type=&amp;quot;Signature&amp;quot; certificate=&amp;quot;href-metadata-signer-2020.crt&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;MetadataFilter type=&amp;quot;RequireValidUntil&amp;quot; maxValidityInterval=&amp;quot;864000&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A tanúsítvány innen szerezhető be: https://metadata.eduid.hu/certs/href-metadata-signer-2020.crt&lt;br /&gt;
&lt;br /&gt;
===ApplicationOverride===&lt;br /&gt;
Amennyiben az SP több alkalmazást kezel, és ezek között az alkalmazások között vannak olyanok, melyeknek valamely tulajdonsága nem egyezik az SP alapértelmezettként megadott tulajdonságaival (jellemzően ilyen lehet pl. az entityID), akkor ezeket ebben a szekcióban felül lehet definiálni.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Kiegészítő beállítások=&lt;br /&gt;
==POST preservation==&lt;br /&gt;
Ha legalább 2.2-es verziójú Shibboleth SP-t használunk, úgy lehetőségünk van egy olyan funkció beállítására, amely lehetővé teszi, hogy ha egy felhasználó valamilyen formba ír (pl. egy wikibe), akkor a küldés gomb megnyomásakor a shibboleth egy átmeneti helyen eltárolja a beírt adatokat. Ennek jelentősége, hogy ha írás közben lejárt volna a felhasználó sessionje, így alapértelmezés szerint a bejelentkező oldalra dobná a rendszer, ami által elveszne, amit begépelt, úgy bekapcsolt post preservation esetén ezek az adatok megmenekülnek, nem kell őket újra beírni.&lt;br /&gt;
&lt;br /&gt;
A funkció bekapcsolásához a &amp;lt;code&amp;gt;&amp;lt;Sessions&amp;gt;&amp;lt;/code&amp;gt; elem attribútumaként kell megadni az alábbi két név-érték párt.&lt;br /&gt;
* &amp;lt;code&amp;gt;postData=&amp;quot;ss:mem&amp;quot;&amp;lt;/code&amp;gt; , az érték mondja meg, hogy a form adatait az SP mely, a konfigurációs fájl elején definiált Storage Service-en keresztül tárolja. Alapértelmezés szerint a memóriában, de lehetőség van külső tároló megadására is. [https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPStorageService További információ a Storage Service-kről] &lt;br /&gt;
* &amp;lt;code&amp;gt;postTemplate=&amp;quot;/etc/shibboleth/postTemplate.html&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hiányossága a funkciónak, hogy ha a form tartalmaz &amp;lt;code&amp;gt;file&amp;lt;/code&amp;gt; típusú &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt; mezőt, akkor nem fog működni.&lt;br /&gt;
&lt;br /&gt;
=HREF integráció=&lt;br /&gt;
# Az SP-t regisztrálni kell a [[Resource_Registry#SP_regisztr.C3.A1ci.C3.B3|Resource Registry]]-ben&lt;br /&gt;
# Le kell tölteni a metadatához tartozó tanúsítványt a [https://metadata.eduid.hu/current/ https://metadata.eduid.hu/current/] címről, és elmenteni a shibboleth kofigurációs fájljait tartalmazó könyvtárba&lt;br /&gt;
# A [[#MetadataProvider|Metadata]] beállításoknál meg kell adni a HREF metadata elérhetőségét: [https://metadata.eduid.hu/current/href.xml https://metadata.eduid.hu/current/href.xml]&lt;br /&gt;
# Az &amp;lt;code&amp;gt;attribute-map.xml&amp;lt;/code&amp;gt; fájlban el kell távolítani a kommentjeleket azon [[HREFAttributeSpec|attribútumok]] elől, melyeket az SP használni kíván.&lt;br /&gt;
# Újra kell indítani a shibboleth démont.&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=MDX&amp;diff=4925</id>
		<title>MDX</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=MDX&amp;diff=4925"/>
				<updated>2022-03-24T15:14:02Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az MDX, azaz MetaDataeXchange protokolt erőforrás optimalizálás céljából találták ki, hogy ne kelljen egyes IdP-knek és SP-knek indokolatlanul nagy XML fájlokat feldolgozniuk és tárolniuk, mikor a felhasználóiknak jó eséllyel a fájlokban tárolt entitások töredékére van csak szükségük. Ezért az egyes entitásokat be lehet úgy állítani, hogy csak akkor töltsék le az adott entitás metaadatát, mikor arra szükség van (az első letöltés után természetesen helyben tároldóik a metaadat a &amp;lt;code&amp;gt;cacheDuration&amp;lt;/code&amp;gt;-ben megadott ideig). Az MDX kiszolgáló az alábbi szabvány szerint tudja visszaadni egy-egy entitás metaadatát: &amp;lt;code&amp;gt;http://mdx.eduid.hu/entities/{urlencoded}$entityID&amp;lt;/code&amp;gt;, pl: &amp;lt;code&amp;gt;http://mdx.eduid.hu/entities/https%3A%2F%2Fdev.aai.niif.hu%2Fshibboleth&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dinamikus metadata kiszolgálás a HREF-ben ==&lt;br /&gt;
Az MDX kiszolgáló a '''http://mdx.eduid.hu''' alatt szolgáltat, és a ''href'' és az ''edugain'' metadata halmazokat tartalmazza.&lt;br /&gt;
&lt;br /&gt;
Mindkét kiszolgáló ugyanazzal a kulccsal írja alá a lekért metaadat-állományt. &lt;br /&gt;
* A tanúsítvány letölthető innen: https://metadata.eduid.hu/certs/href-metadata-signer-2020.crt &lt;br /&gt;
* SHA-1 lenyomata: &amp;lt;code&amp;gt;C3:72:DC:75:4C:FA:BA:65:63:52:D9:6B:47:5B:44:7E:AA:F6:45:61&amp;lt;/code&amp;gt; . &lt;br /&gt;
&lt;br /&gt;
=== Fontos tudnivaló Discovery Service használattal kapcsolatban ===&lt;br /&gt;
Lévén az MDX-et használó SP-knél nem áll rendelkezésre folyamatosan az összes potenciális IdP listája, így a beépített Discovery Service-ek nem működnek. Ha MDX-et használunk, akkor valamilyen külső Discvery Service-t kell használnunk. A HREF-ben a https://discovery.eduid.hu a központi Discovery Service. &lt;br /&gt;
&lt;br /&gt;
Emellett maga az MDX kiszolgáló is biztosít Discovery Service felületet, ehhez akár Shibboleth SP-nél, akár simpleSAMLphp SP-nél a konfigurációban az alábbi URL-t kell megadni, mint Discovery Service: https://mdx.eduid.hu/role/idp.ds . Ez a Discovery Service tartalmazza a hazai eduID-ben, valamint az eduGAIN-ben levő összes IdP-t. (És, ellentétben a hagyományos https://discovery.eduid.hu/edugain szolgáltatással, ez tartlamazza a magyar VHO-t is VHO IdP néven.)&lt;br /&gt;
&lt;br /&gt;
== MDX használata kliens oldalon ==&lt;br /&gt;
=== SimpleSAMLphp ===&lt;br /&gt;
&lt;br /&gt;
Az 1.14-es kiadástól kezdve a SimpleSAMLphp tartalmazza az dinamikus metadata lekérdezés funkciót, amely mind IdP, mind SP szerepben egységes módon használható. A config/config.php állományban metadata.sources szekcióban kell elhelyezni az alábbi blokkot:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
'metadata.sources' =&amp;gt; array(&lt;br /&gt;
     array('type' =&amp;gt; 'flatfile'), // ez a *-hosted metadata konfiguráció betöltése miatt szükséges&lt;br /&gt;
     array(&lt;br /&gt;
         'type' =&amp;gt; 'mdx',&lt;br /&gt;
         'server' =&amp;gt; 'http://mdx.eduid.hu',&lt;br /&gt;
         'cachedir' =&amp;gt; '/var/simplesamlphp/mdx-cache', //opcionális, de ajánlott&lt;br /&gt;
         'cachelength' =&amp;gt; 86400, //opcionális,&lt;br /&gt;
         'validateFingerprint' =&amp;gt; 'C3:72:DC:75:4C:FA:BA:65:63:52:D9:6B:47:5B:44:7E:AA:F6:45:61' //opcionális     &lt;br /&gt;
      ),&lt;br /&gt;
),&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A dinamikus és a statikus metadataforrások egyidejű használatára egy példa: [[SimpleSAMLMixedMetadata]]&lt;br /&gt;
&lt;br /&gt;
=== Shibboleth SP ===&lt;br /&gt;
&lt;br /&gt;
* Le kell tölteni a /etc/shibboleth alá az aláíró tanúsítványát innen: https://metadata.eduid.hu/certs/href-metadata-signer-2020.crt&lt;br /&gt;
* Az alábbi blokkot be kell szúrni a &amp;lt;code&amp;gt;/etc/shibboleth/shibboleth2.xml&amp;lt;/code&amp;gt; fájlba&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;MetadataProvider type=&amp;quot;Dynamic&amp;quot; ignoreTransport=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Subst&amp;gt;http://mdx.eduid.hu/entities/$entityID&amp;lt;/Subst&amp;gt;&lt;br /&gt;
      &amp;lt;MetadataFilter type=&amp;quot;Signature&amp;quot; certificate=&amp;quot;href-metadata-signer-2020.crt&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Shibboleth IdPv3 ===&lt;br /&gt;
&lt;br /&gt;
* Le kell tölteni a &amp;lt;code&amp;gt;${idp.home}/credentials/&amp;lt;/code&amp;gt; alá az aláíró tanúsítványát innen: https://metadata.eduid.hu/certs/href-metadata-signer-2020.crt&lt;br /&gt;
* A &amp;lt;code&amp;gt;conf/metadata-providers.xml&amp;lt;/code&amp;gt; fájlt kell szerkeszteni az alábbi módon:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;MetadataProvider&lt;br /&gt;
     xmlns=&amp;quot;urn:mace:shibboleth:2.0:metadata&amp;quot;&lt;br /&gt;
     xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
     xsi:schemaLocation=&amp;quot;urn:mace:shibboleth:2.0:metadata http://shibboleth.net/schema/idp/shibboleth-metadata.xsd&amp;quot;&lt;br /&gt;
     id=&amp;quot;dynamicMDQ&amp;quot; xsi:type=&amp;quot;DynamicHTTPMetadataProvider&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     &amp;lt;!--&lt;br /&gt;
       Require a validUntil XML attribute on the EntityDescriptor element&lt;br /&gt;
       and make sure its value is no more than 14 days into the future&lt;br /&gt;
     --&amp;gt;&lt;br /&gt;
     &amp;lt;MetadataFilter xsi:type=&amp;quot;RequiredValidUntil&amp;quot; maxValidityInterval=&amp;quot;P14D&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;!-- Verify the signature on the metadata file --&amp;gt;&lt;br /&gt;
     &amp;lt;MetadataFilter xsi:type=&amp;quot;SignatureValidation&amp;quot; requireSignedMetadata=&amp;quot;true&amp;quot;&lt;br /&gt;
         certificateFile=&amp;quot;${idp.home}/credentials/href-metadata-signer-2020.crt&amp;quot; /&amp;gt;&lt;br /&gt;
     &lt;br /&gt;
     &amp;lt;!-- The MetadataQueryProtocol element specifies the base URL for the query protocol. --&amp;gt;&lt;br /&gt;
     &amp;lt;MetadataQueryProtocol&amp;gt;http://mdx.eduid.hu/&amp;lt;/MetadataQueryProtocol&amp;gt;&lt;br /&gt;
&amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=MDX&amp;diff=4924</id>
		<title>MDX</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=MDX&amp;diff=4924"/>
				<updated>2022-03-24T10:20:59Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: mdx =&amp;gt; mdx-2020&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az MDX, azaz MetaDataeXchange protokolt erőforrás optimalizálás céljából találták ki, hogy ne kelljen egyes IdP-knek és SP-knek indokolatlanul nagy XML fájlokat feldolgozniuk és tárolniuk, mikor a felhasználóiknak jó eséllyel a fájlokban tárolt entitások töredékére van csak szükségük. Ezért az egyes entitásokat be lehet úgy állítani, hogy csak akkor töltsék le az adott entitás metaadatát, mikor arra szükség van (az első letöltés után természetesen helyben tároldóik a metaadat a &amp;lt;code&amp;gt;cacheDuration&amp;lt;/code&amp;gt;-ben megadott ideig). Az MDX kiszolgáló az alábbi szabvány szerint tudja visszaadni egy-egy entitás metaadatát: &amp;lt;code&amp;gt;http://mdx.eduid.hu/entities/{urlencoded}$entityID&amp;lt;/code&amp;gt;, pl: &amp;lt;code&amp;gt;http://mdx.eduid.hu/entities/https%3A%2F%2Fdev.aai.niif.hu%2Fshibboleth&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dinamikus metadata kiszolgálás a HREF-ben ==&lt;br /&gt;
Az MDX kiszolgáló a '''http://mdx-2020.eduid.hu''' alatt szolgáltat, és a ''href'' és az ''edugain'' metadata halmazokat tartalmazza.&lt;br /&gt;
&lt;br /&gt;
Mindkét kiszolgáló ugyanazzal a kulccsal írja alá a lekért metaadat-állományt. &lt;br /&gt;
* A tanúsítvány letölthető innen: https://metadata.eduid.hu/certs/href-metadata-signer-2020.crt &lt;br /&gt;
* SHA-1 lenyomata: &amp;lt;code&amp;gt;C3:72:DC:75:4C:FA:BA:65:63:52:D9:6B:47:5B:44:7E:AA:F6:45:61&amp;lt;/code&amp;gt; . &lt;br /&gt;
&lt;br /&gt;
=== Fontos tudnivaló Discovery Service használattal kapcsolatban ===&lt;br /&gt;
Lévén az MDX-et használó SP-knél nem áll rendelkezésre folyamatosan az összes potenciális IdP listája, így a beépített Discovery Service-ek nem működnek. Ha MDX-et használunk, akkor valamilyen külső Discvery Service-t kell használnunk. A HREF-ben a https://discovery.eduid.hu a központi Discovery Service. &lt;br /&gt;
&lt;br /&gt;
Emellett maga az MDX kiszolgáló is biztosít Discovery Service felületet, ehhez akár Shibboleth SP-nél, akár simpleSAMLphp SP-nél a konfigurációban az alábbi URL-t kell megadni, mint Discovery Service: https://mdx.eduid.hu/role/idp.ds . Ez a Discovery Service tartalmazza a hazai eduID-ben, valamint az eduGAIN-ben levő összes IdP-t. (És, ellentétben a hagyományos https://discovery.eduid.hu/edugain szolgáltatással, ez tartlamazza a magyar VHO-t is VHO IdP néven.)&lt;br /&gt;
&lt;br /&gt;
== MDX használata kliens oldalon ==&lt;br /&gt;
=== SimpleSAMLphp ===&lt;br /&gt;
&lt;br /&gt;
Az 1.14-es kiadástól kezdve a SimpleSAMLphp tartalmazza az dinamikus metadata lekérdezés funkciót, amely mind IdP, mind SP szerepben egységes módon használható. A config/config.php állományban metadata.sources szekcióban kell elhelyezni az alábbi blokkot:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
'metadata.sources' =&amp;gt; array(&lt;br /&gt;
     array('type' =&amp;gt; 'flatfile'), // ez a *-hosted metadata konfiguráció betöltése miatt szükséges&lt;br /&gt;
     array(&lt;br /&gt;
         'type' =&amp;gt; 'mdx',&lt;br /&gt;
         'server' =&amp;gt; 'http://mdx-2020.eduid.hu',&lt;br /&gt;
         'cachedir' =&amp;gt; '/var/simplesamlphp/mdx-cache', //opcionális, de ajánlott&lt;br /&gt;
         'cachelength' =&amp;gt; 86400, //opcionális,&lt;br /&gt;
         'validateFingerprint' =&amp;gt; 'C3:72:DC:75:4C:FA:BA:65:63:52:D9:6B:47:5B:44:7E:AA:F6:45:61' //opcionális     &lt;br /&gt;
      ),&lt;br /&gt;
),&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A dinamikus és a statikus metadataforrások egyidejű használatára egy példa: [[SimpleSAMLMixedMetadata]]&lt;br /&gt;
&lt;br /&gt;
=== Shibboleth SP ===&lt;br /&gt;
&lt;br /&gt;
* Le kell tölteni a /etc/shibboleth alá az aláíró tanúsítványát innen: https://metadata.eduid.hu/certs/href-metadata-signer-2020.crt&lt;br /&gt;
* Az alábbi blokkot be kell szúrni a &amp;lt;code&amp;gt;/etc/shibboleth/shibboleth2.xml&amp;lt;/code&amp;gt; fájlba&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;MetadataProvider type=&amp;quot;Dynamic&amp;quot; ignoreTransport=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Subst&amp;gt;http://mdx.eduid.hu/entities/$entityID&amp;lt;/Subst&amp;gt;&lt;br /&gt;
      &amp;lt;MetadataFilter type=&amp;quot;Signature&amp;quot; certificate=&amp;quot;href-metadata-signer-2020.crt&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Shibboleth IdPv3 ===&lt;br /&gt;
&lt;br /&gt;
* Le kell tölteni a &amp;lt;code&amp;gt;${idp.home}/credentials/&amp;lt;/code&amp;gt; alá az aláíró tanúsítványát innen: https://metadata.eduid.hu/certs/href-metadata-signer-2020.crt&lt;br /&gt;
* A &amp;lt;code&amp;gt;conf/metadata-providers.xml&amp;lt;/code&amp;gt; fájlt kell szerkeszteni az alábbi módon:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;MetadataProvider&lt;br /&gt;
     xmlns=&amp;quot;urn:mace:shibboleth:2.0:metadata&amp;quot;&lt;br /&gt;
     xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
     xsi:schemaLocation=&amp;quot;urn:mace:shibboleth:2.0:metadata http://shibboleth.net/schema/idp/shibboleth-metadata.xsd&amp;quot;&lt;br /&gt;
     id=&amp;quot;dynamicMDQ&amp;quot; xsi:type=&amp;quot;DynamicHTTPMetadataProvider&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     &amp;lt;!--&lt;br /&gt;
       Require a validUntil XML attribute on the EntityDescriptor element&lt;br /&gt;
       and make sure its value is no more than 14 days into the future&lt;br /&gt;
     --&amp;gt;&lt;br /&gt;
     &amp;lt;MetadataFilter xsi:type=&amp;quot;RequiredValidUntil&amp;quot; maxValidityInterval=&amp;quot;P14D&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;!-- Verify the signature on the metadata file --&amp;gt;&lt;br /&gt;
     &amp;lt;MetadataFilter xsi:type=&amp;quot;SignatureValidation&amp;quot; requireSignedMetadata=&amp;quot;true&amp;quot;&lt;br /&gt;
         certificateFile=&amp;quot;${idp.home}/credentials/href-metadata-signer-2020.crt&amp;quot; /&amp;gt;&lt;br /&gt;
     &lt;br /&gt;
     &amp;lt;!-- The MetadataQueryProtocol element specifies the base URL for the query protocol. --&amp;gt;&lt;br /&gt;
     &amp;lt;MetadataQueryProtocol&amp;gt;http://mdx-2020.eduid.hu/&amp;lt;/MetadataQueryProtocol&amp;gt;&lt;br /&gt;
&amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=MDX&amp;diff=4912</id>
		<title>MDX</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=MDX&amp;diff=4912"/>
				<updated>2022-02-14T12:59:15Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: /* Shibboleth SP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az MDX, azaz MetaDataeXchange protokolt erőforrás optimalizálás céljából találták ki, hogy ne kelljen egyes IdP-knek és SP-knek indokolatlanul nagy XML fájlokat feldolgozniuk és tárolniuk, mikor a felhasználóiknak jó eséllyel a fájlokban tárolt entitások töredékére van csak szükségük. Ezért az egyes entitásokat be lehet úgy állítani, hogy csak akkor töltsék le az adott entitás metaadatát, mikor arra szükség van (az első letöltés után természetesen helyben tároldóik a metaadat a &amp;lt;code&amp;gt;cacheDuration&amp;lt;/code&amp;gt;-ben megadott ideig). Az MDX kiszolgáló az alábbi szabvány szerint tudja visszaadni egy-egy entitás metaadatát: &amp;lt;code&amp;gt;http://mdx.eduid.hu/entities/{urlencoded}$entityID&amp;lt;/code&amp;gt;, pl: &amp;lt;code&amp;gt;http://mdx.eduid.hu/entities/https%3A%2F%2Fdev.aai.niif.hu%2Fshibboleth&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dinamikus metadata kiszolgálás a HREF-ben ==&lt;br /&gt;
Az MDX kiszolgáló a '''http://mdx.eduid.hu''' alatt szolgáltat, és a ''href'' és az ''edugain'' metadata halmazokat tartalmazza.&lt;br /&gt;
&lt;br /&gt;
Mindkét kiszolgáló ugyanazzal a kulccsal írja alá a lekért metaadat-állományt. &lt;br /&gt;
* A tanúsítvány letölthető innen: https://metadata.eduid.hu/certs/href-metadata-signer-2020.crt &lt;br /&gt;
* SHA-1 lenyomata: &amp;lt;code&amp;gt;C3:72:DC:75:4C:FA:BA:65:63:52:D9:6B:47:5B:44:7E:AA:F6:45:61&amp;lt;/code&amp;gt; . &lt;br /&gt;
&lt;br /&gt;
=== Fontos tudnivaló Discovery Service használattal kapcsolatban ===&lt;br /&gt;
Lévén az MDX-et használó SP-knél nem áll rendelkezésre folyamatosan az összes potenciális IdP listája, így a beépített Discovery Service-ek nem működnek. Ha MDX-et használunk, akkor valamilyen külső Discvery Service-t kell használnunk. A HREF-ben a https://discovery.eduid.hu a központi Discovery Service. &lt;br /&gt;
&lt;br /&gt;
Emellett maga az MDX kiszolgáló is biztosít Discovery Service felületet, ehhez akár Shibboleth SP-nél, akár simpleSAMLphp SP-nél a konfigurációban az alábbi URL-t kell megadni, mint Discovery Service: https://mdx.eduid.hu/role/idp.ds . Ez a Discovery Service tartalmazza a hazai eduID-ben, valamint az eduGAIN-ben levő összes IdP-t. (És, ellentétben a hagyományos https://discovery.eduid.hu/edugain szolgáltatással, ez tartlamazza a magyar VHO-t is VHO IdP néven.)&lt;br /&gt;
&lt;br /&gt;
== MDX használata kliens oldalon ==&lt;br /&gt;
=== SimpleSAMLphp ===&lt;br /&gt;
&lt;br /&gt;
Az 1.14-es kiadástól kezdve a SimpleSAMLphp tartalmazza az dinamikus metadata lekérdezés funkciót, amely mind IdP, mind SP szerepben egységes módon használható. A config/config.php állományban metadata.sources szekcióban kell elhelyezni az alábbi blokkot:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
'metadata.sources' =&amp;gt; array(&lt;br /&gt;
     array('type' =&amp;gt; 'flatfile'), // ez a *-hosted metadata konfiguráció betöltése miatt szükséges&lt;br /&gt;
     array(&lt;br /&gt;
         'type' =&amp;gt; 'mdx',&lt;br /&gt;
         'server' =&amp;gt; 'http://mdx.eduid.hu',&lt;br /&gt;
         'cachedir' =&amp;gt; '/var/simplesamlphp/mdx-cache', //opcionális, de ajánlott&lt;br /&gt;
         'cachelength' =&amp;gt; 86400, //opcionális,&lt;br /&gt;
         'validateFingerprint' =&amp;gt; '91:81:AD:2B:F1:C1:4E:47:93:A2:9D:49:34:B7:77:62:4F:2F:98:43' //opcionális     &lt;br /&gt;
      ),&lt;br /&gt;
),&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A dinamikus és a statikus metadataforrások egyidejű használatára egy példa: [[SimpleSAMLMixedMetadata]]&lt;br /&gt;
&lt;br /&gt;
=== Shibboleth SP ===&lt;br /&gt;
&lt;br /&gt;
* Le kell tölteni a /etc/shibboleth alá az aláíró tanúsítványát innen: http://metadata.eduid.hu/current/mdx-test-signer-2015.crt&lt;br /&gt;
* Az alábbi blokkot be kell szúrni a &amp;lt;code&amp;gt;/etc/shibboleth/shibboleth2.xml&amp;lt;/code&amp;gt; fájlba&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;MetadataProvider type=&amp;quot;Dynamic&amp;quot; ignoreTransport=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Subst&amp;gt;http://mdx.eduid.hu/entities/$entityID&amp;lt;/Subst&amp;gt;&lt;br /&gt;
      &amp;lt;MetadataFilter type=&amp;quot;Signature&amp;quot; certificate=&amp;quot;href-metadata-signer-2020.crt&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Shibboleth IdPv3 ===&lt;br /&gt;
&lt;br /&gt;
* Le kell tölteni a &amp;lt;code&amp;gt;${idp.home}/credentials/&amp;lt;/code&amp;gt; alá az aláíró tanúsítványát innen: http://metadata.eduid.hu/current/mdx-test-signer-2015.crt&lt;br /&gt;
* A &amp;lt;code&amp;gt;conf/metadata-providers.xml&amp;lt;/code&amp;gt; fájlt kell szerkeszteni az alábbi módon:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;MetadataProvider&lt;br /&gt;
     xmlns=&amp;quot;urn:mace:shibboleth:2.0:metadata&amp;quot;&lt;br /&gt;
     xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
     xsi:schemaLocation=&amp;quot;urn:mace:shibboleth:2.0:metadata http://shibboleth.net/schema/idp/shibboleth-metadata.xsd&amp;quot;&lt;br /&gt;
     id=&amp;quot;dynamicMDQ&amp;quot; xsi:type=&amp;quot;DynamicHTTPMetadataProvider&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     &amp;lt;!--&lt;br /&gt;
       Require a validUntil XML attribute on the EntityDescriptor element&lt;br /&gt;
       and make sure its value is no more than 14 days into the future&lt;br /&gt;
     --&amp;gt;&lt;br /&gt;
     &amp;lt;MetadataFilter xsi:type=&amp;quot;RequiredValidUntil&amp;quot; maxValidityInterval=&amp;quot;P14D&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;!-- Verify the signature on the metadata file --&amp;gt;&lt;br /&gt;
     &amp;lt;MetadataFilter xsi:type=&amp;quot;SignatureValidation&amp;quot; requireSignedMetadata=&amp;quot;true&amp;quot;&lt;br /&gt;
         certificateFile=&amp;quot;${idp.home}/credentials/mdx-signer.crt&amp;quot; /&amp;gt;&lt;br /&gt;
     &lt;br /&gt;
     &amp;lt;!-- The MetadataQueryProtocol element specifies the base URL for the query protocol. --&amp;gt;&lt;br /&gt;
     &amp;lt;MetadataQueryProtocol&amp;gt;http://mdx.eduid.hu/&amp;lt;/MetadataQueryProtocol&amp;gt;&lt;br /&gt;
&amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=MDX&amp;diff=4911</id>
		<title>MDX</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=MDX&amp;diff=4911"/>
				<updated>2022-02-11T10:14:30Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: /* Dinamikus metadata kiszolgálás a HREF-ben */ aláírókulcs csere&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az MDX, azaz MetaDataeXchange protokolt erőforrás optimalizálás céljából találták ki, hogy ne kelljen egyes IdP-knek és SP-knek indokolatlanul nagy XML fájlokat feldolgozniuk és tárolniuk, mikor a felhasználóiknak jó eséllyel a fájlokban tárolt entitások töredékére van csak szükségük. Ezért az egyes entitásokat be lehet úgy állítani, hogy csak akkor töltsék le az adott entitás metaadatát, mikor arra szükség van (az első letöltés után természetesen helyben tároldóik a metaadat a &amp;lt;code&amp;gt;cacheDuration&amp;lt;/code&amp;gt;-ben megadott ideig). Az MDX kiszolgáló az alábbi szabvány szerint tudja visszaadni egy-egy entitás metaadatát: &amp;lt;code&amp;gt;http://mdx.eduid.hu/entities/{urlencoded}$entityID&amp;lt;/code&amp;gt;, pl: &amp;lt;code&amp;gt;http://mdx.eduid.hu/entities/https%3A%2F%2Fdev.aai.niif.hu%2Fshibboleth&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dinamikus metadata kiszolgálás a HREF-ben ==&lt;br /&gt;
Az MDX kiszolgáló a '''http://mdx.eduid.hu''' alatt szolgáltat, és a ''href'' és az ''edugain'' metadata halmazokat tartalmazza.&lt;br /&gt;
&lt;br /&gt;
Mindkét kiszolgáló ugyanazzal a kulccsal írja alá a lekért metaadat-állományt. &lt;br /&gt;
* A tanúsítvány letölthető innen: https://metadata.eduid.hu/certs/href-metadata-signer-2020.crt &lt;br /&gt;
* SHA-1 lenyomata: &amp;lt;code&amp;gt;C3:72:DC:75:4C:FA:BA:65:63:52:D9:6B:47:5B:44:7E:AA:F6:45:61&amp;lt;/code&amp;gt; . &lt;br /&gt;
&lt;br /&gt;
=== Fontos tudnivaló Discovery Service használattal kapcsolatban ===&lt;br /&gt;
Lévén az MDX-et használó SP-knél nem áll rendelkezésre folyamatosan az összes potenciális IdP listája, így a beépített Discovery Service-ek nem működnek. Ha MDX-et használunk, akkor valamilyen külső Discvery Service-t kell használnunk. A HREF-ben a https://discovery.eduid.hu a központi Discovery Service. &lt;br /&gt;
&lt;br /&gt;
Emellett maga az MDX kiszolgáló is biztosít Discovery Service felületet, ehhez akár Shibboleth SP-nél, akár simpleSAMLphp SP-nél a konfigurációban az alábbi URL-t kell megadni, mint Discovery Service: https://mdx.eduid.hu/role/idp.ds . Ez a Discovery Service tartalmazza a hazai eduID-ben, valamint az eduGAIN-ben levő összes IdP-t. (És, ellentétben a hagyományos https://discovery.eduid.hu/edugain szolgáltatással, ez tartlamazza a magyar VHO-t is VHO IdP néven.)&lt;br /&gt;
&lt;br /&gt;
== MDX használata kliens oldalon ==&lt;br /&gt;
=== SimpleSAMLphp ===&lt;br /&gt;
&lt;br /&gt;
Az 1.14-es kiadástól kezdve a SimpleSAMLphp tartalmazza az dinamikus metadata lekérdezés funkciót, amely mind IdP, mind SP szerepben egységes módon használható. A config/config.php állományban metadata.sources szekcióban kell elhelyezni az alábbi blokkot:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
'metadata.sources' =&amp;gt; array(&lt;br /&gt;
     array('type' =&amp;gt; 'flatfile'), // ez a *-hosted metadata konfiguráció betöltése miatt szükséges&lt;br /&gt;
     array(&lt;br /&gt;
         'type' =&amp;gt; 'mdx',&lt;br /&gt;
         'server' =&amp;gt; 'http://mdx.eduid.hu',&lt;br /&gt;
         'cachedir' =&amp;gt; '/var/simplesamlphp/mdx-cache', //opcionális, de ajánlott&lt;br /&gt;
         'cachelength' =&amp;gt; 86400, //opcionális,&lt;br /&gt;
         'validateFingerprint' =&amp;gt; '91:81:AD:2B:F1:C1:4E:47:93:A2:9D:49:34:B7:77:62:4F:2F:98:43' //opcionális     &lt;br /&gt;
      ),&lt;br /&gt;
),&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A dinamikus és a statikus metadataforrások egyidejű használatára egy példa: [[SimpleSAMLMixedMetadata]]&lt;br /&gt;
&lt;br /&gt;
=== Shibboleth SP ===&lt;br /&gt;
&lt;br /&gt;
* Le kell tölteni a /etc/shibboleth alá az aláíró tanúsítványát innen: http://metadata.eduid.hu/current/mdx-test-signer-2015.crt&lt;br /&gt;
* Az alábbi blokkot be kell szúrni a &amp;lt;code&amp;gt;/etc/shibboleth/shibboleth2.xml&amp;lt;/code&amp;gt; fájlba&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;MetadataProvider type=&amp;quot;Dynamic&amp;quot; ignoreTransport=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Subst&amp;gt;http://mdx.eduid.hu/entities/$entityID&amp;lt;/Subst&amp;gt;&lt;br /&gt;
      &amp;lt;MetadataFilter type=&amp;quot;Signature&amp;quot; certificate=&amp;quot;mdx-test-signer-2015.crt&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Shibboleth IdPv3 ===&lt;br /&gt;
&lt;br /&gt;
* Le kell tölteni a &amp;lt;code&amp;gt;${idp.home}/credentials/&amp;lt;/code&amp;gt; alá az aláíró tanúsítványát innen: http://metadata.eduid.hu/current/mdx-test-signer-2015.crt&lt;br /&gt;
* A &amp;lt;code&amp;gt;conf/metadata-providers.xml&amp;lt;/code&amp;gt; fájlt kell szerkeszteni az alábbi módon:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;MetadataProvider&lt;br /&gt;
     xmlns=&amp;quot;urn:mace:shibboleth:2.0:metadata&amp;quot;&lt;br /&gt;
     xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;
     xsi:schemaLocation=&amp;quot;urn:mace:shibboleth:2.0:metadata http://shibboleth.net/schema/idp/shibboleth-metadata.xsd&amp;quot;&lt;br /&gt;
     id=&amp;quot;dynamicMDQ&amp;quot; xsi:type=&amp;quot;DynamicHTTPMetadataProvider&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     &amp;lt;!--&lt;br /&gt;
       Require a validUntil XML attribute on the EntityDescriptor element&lt;br /&gt;
       and make sure its value is no more than 14 days into the future&lt;br /&gt;
     --&amp;gt;&lt;br /&gt;
     &amp;lt;MetadataFilter xsi:type=&amp;quot;RequiredValidUntil&amp;quot; maxValidityInterval=&amp;quot;P14D&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;!-- Verify the signature on the metadata file --&amp;gt;&lt;br /&gt;
     &amp;lt;MetadataFilter xsi:type=&amp;quot;SignatureValidation&amp;quot; requireSignedMetadata=&amp;quot;true&amp;quot;&lt;br /&gt;
         certificateFile=&amp;quot;${idp.home}/credentials/mdx-signer.crt&amp;quot; /&amp;gt;&lt;br /&gt;
     &lt;br /&gt;
     &amp;lt;!-- The MetadataQueryProtocol element specifies the base URL for the query protocol. --&amp;gt;&lt;br /&gt;
     &amp;lt;MetadataQueryProtocol&amp;gt;http://mdx.eduid.hu/&amp;lt;/MetadataQueryProtocol&amp;gt;&lt;br /&gt;
&amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=AAI/AzureADasAuthsource&amp;diff=4910</id>
		<title>AAI/AzureADasAuthsource</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=AAI/AzureADasAuthsource&amp;diff=4910"/>
				<updated>2022-02-09T13:24:53Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: /* Teendők SimpleSAMLPHP (SSP) oldalon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Amennyiben Azure AD-ban tároljuk a felhasználói adatokat, úgy lehetőség van azt azonosítási forrásként is használni. A [[SimpleSAMLphp]] oldalon leírt telepítés után az alábbiak elvégzésére van szükség:&lt;br /&gt;
(ez csak egy példakonfiguráció, természetesen el lehet ettől térni)&lt;br /&gt;
&lt;br /&gt;
== Teendők SimpleSAMLPHP (SSP) oldalon ==&lt;br /&gt;
&lt;br /&gt;
Keressük ki az Azure AD-ból a Tenant ID-t. A beállítás során erre _TenantID_-val fogunk hivatkozni, oda minden esetben ezt az azonosítót kell behelyettesíteni. Az azonosítót jelenleg a &lt;br /&gt;
https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview oldalon keresztül lehet beszerezni&lt;br /&gt;
(Forrás: https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-how-to-find-tenant)&lt;br /&gt;
&lt;br /&gt;
A _DOMAIN_ helyére a használni kívánt scope-ot szükséges behelyettesíteni (pl intezmeny.hu)&lt;br /&gt;
&lt;br /&gt;
=== config/authsources.php fájlba ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    'default-sp' =&amp;gt; [&lt;br /&gt;
        'saml:SP',&lt;br /&gt;
&lt;br /&gt;
        // The entity ID of this SP.&lt;br /&gt;
        // Can be NULL/unset, in which case an entity ID is generated based on the metadata URL.&lt;br /&gt;
        'entityID' =&amp;gt; null,&lt;br /&gt;
&lt;br /&gt;
        // The entity ID of the IdP this SP should contact.&lt;br /&gt;
        // Can be NULL/unset, in which case the user will be shown a list of available IdPs.&lt;br /&gt;
        'idp' =&amp;gt; 'https://sts.windows.net/_TenantID_/',&lt;br /&gt;
&lt;br /&gt;
        // The URL to the discovery service.&lt;br /&gt;
        // Can be NULL/unset, in which case a builtin discovery service will be used.&lt;br /&gt;
        'discoURL' =&amp;gt; null,&lt;br /&gt;
        'NameIDFormat' =&amp;gt; 'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent',&lt;br /&gt;
        'simplesaml.nameidattribute' =&amp;gt; 'eduPersonTargetedID',&lt;br /&gt;
&lt;br /&gt;
        /*&lt;br /&gt;
         * The attributes parameter must contain an array of desired attributes by the SP.&lt;br /&gt;
         * The attributes can be expressed as an array of names or as an associative array&lt;br /&gt;
         * in the form of 'friendlyName' =&amp;gt; 'name'. This feature requires 'name' to be set.&lt;br /&gt;
         * The metadata will then be created as follows:&lt;br /&gt;
         * &amp;lt;md:RequestedAttribute FriendlyName=&amp;quot;friendlyName&amp;quot; Name=&amp;quot;name&amp;quot; /&amp;gt;&lt;br /&gt;
         */&lt;br /&gt;
        /*&lt;br /&gt;
        'name' =&amp;gt; [&lt;br /&gt;
            'en' =&amp;gt; 'A service',&lt;br /&gt;
            'no' =&amp;gt; 'En tjeneste',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        'attributes' =&amp;gt; [&lt;br /&gt;
            'attrname' =&amp;gt; 'urn:oid:x.x.x.x',&lt;br /&gt;
        ],&lt;br /&gt;
        'attributes.required' =&amp;gt; [&lt;br /&gt;
            'urn:oid:x.x.x.x',&lt;br /&gt;
        ],&lt;br /&gt;
        */&lt;br /&gt;
    ],&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== config/config-metarefresh.php fájlba ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$config = [&lt;br /&gt;
&lt;br /&gt;
    'sets' =&amp;gt; [&lt;br /&gt;
        'azure' =&amp;gt; [&lt;br /&gt;
            'cron' =&amp;gt; ['hourly'],&lt;br /&gt;
            'sources' =&amp;gt; [&lt;br /&gt;
                [&lt;br /&gt;
                    'src' =&amp;gt; 'https://login.microsoftonline.com/_TenantID_/federationmetadata/2007-06/federationmetadata.xml',&lt;br /&gt;
                ],&lt;br /&gt;
            ],&lt;br /&gt;
            'expireAfter' =&amp;gt; 34560060, // Maximum 4 days cache time (3600*24*4)&lt;br /&gt;
            'outputDir' =&amp;gt; 'metadata/metarefresh-azure',&lt;br /&gt;
            'outputFormat' =&amp;gt; 'flatfile',&lt;br /&gt;
        ],&lt;br /&gt;
    ],&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== metadata/saml20-idp-hosted.php ===&lt;br /&gt;
&lt;br /&gt;
A &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    'authproc' =&amp;gt; [&lt;br /&gt;
&lt;br /&gt;
        10 =&amp;gt; [&lt;br /&gt;
              'class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
              'azure2name'&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        15 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeCopy',&lt;br /&gt;
            'eduPersonPrincipalName' =&amp;gt; 'schacPersonalUniqueCode',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        16 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:PHP',&lt;br /&gt;
            'code' =&amp;gt; '&lt;br /&gt;
                $attributes[&amp;quot;schacPersonalUniqueCode&amp;quot;][0] = &amp;quot;urn:schac:personalUniqueCode:int:esi:_DOMAIN_:&amp;quot; . $attributes[&amp;quot;schacPersonalUniqueCode&amp;quot;][0];&lt;br /&gt;
            ',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        18 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
            'pattern' =&amp;gt; '/^.*$/',&lt;br /&gt;
            'replacement' =&amp;gt; '${0}@_DOMAIN_',&lt;br /&gt;
            'target' =&amp;gt; 'eduPersonPrincipalName'&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        20 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
            'eduPersonEntitlement' =&amp;gt; array('urn:mace:dir:entitlement:common-lib-terms')&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        22 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
            'schacHomeOrganization' =&amp;gt; array('_DOMAIN_')&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        23 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
            'schacHomeOrganizationType' =&amp;gt; array('urn:schac:homeOrganizationType:eu:higherEducationalInstitution')&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
// Azure AD-ban célszerű az affilation-t (intézményhez való viszonyt, pl hallgató, oktató, dolgozó) security group alapján meghatározni. Ezeknek az objektum azonosítóját át fogja adni az Azure AD, amit könnyen kicserélhetünk a kívánt affilation-re:&lt;br /&gt;
&lt;br /&gt;
        31 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
            'pattern' =&amp;gt; '/^_eduID_Dolgozó_GroupID_$/', // _eduID_Dolgozó_GroupID_ értéket cseréljük a megfelelő Objektum ID-ra&lt;br /&gt;
            'replacement' =&amp;gt; 'faculty',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        32 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
            'pattern' =&amp;gt; '/^_eduID_Hallgató_GroupID_$/', // _eduID_Hallgató_GroupID_ értéket cseréljük a megfelelő Objektum ID-ra&lt;br /&gt;
            'replacement' =&amp;gt; 'student',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        33 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
            'pattern' =&amp;gt; '/^_eduID_Admin_GroupID_$/', // _eduID_Admin_GroupID_ értéket cseréljük a megfelelő Objektum ID-ra&lt;br /&gt;
            'replacement' =&amp;gt; 'staff',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        34 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
            'eduPersonAffiliation' =&amp;gt; array('member'),&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        35 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeCopy',&lt;br /&gt;
            'eduPersonAffiliation' =&amp;gt; 'eduPersonScopedAffiliation'&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        36 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonScopedAffiliation',&lt;br /&gt;
            'pattern' =&amp;gt; '/^.*$/',&lt;br /&gt;
            'replacement' =&amp;gt; '${0}@$_DOMAIN_',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        50 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:TargetedID',&lt;br /&gt;
            'identifyingAttribute' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
            'nameId' =&amp;gt; TRUE,&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        60 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
            'name2oid'&lt;br /&gt;
        ],&lt;br /&gt;
        75  =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'entitycategories:EntityCategory',&lt;br /&gt;
            'default' =&amp;gt; true,&lt;br /&gt;
            'strict' =&amp;gt; false,&lt;br /&gt;
            'allowRequestedAttributes' =&amp;gt; true,&lt;br /&gt;
            'http://eduid.hu/category/registered-by-eduidhu' =&amp;gt; [],&lt;br /&gt;
            'http://www.geant.net/uri/dataprotection-code-of-conduct/v1' =&amp;gt; [&lt;br /&gt;
                'urn:oid:2.16.840.1.113730.3.1.241', # displayName&lt;br /&gt;
                'urn:oid:2.5.4.4', # sn&lt;br /&gt;
                'urn:oid:2.5.4.42', # givenName&lt;br /&gt;
                'urn:oid:0.9.2342.19200300.100.1.3', # mail&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.6', # eduPersonPrincipalName&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.9', # eduPersonScopedAffiliation&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.1', # eduPersonAffiliation&lt;br /&gt;
            ],&lt;br /&gt;
            'http://refeds.org/category/research-and-scholarship' =&amp;gt; [&lt;br /&gt;
                'urn:oid:2.16.840.1.113730.3.1.241', # displayName&lt;br /&gt;
                'urn:oid:2.5.4.4', # sn&lt;br /&gt;
                'urn:oid:2.5.4.42', # givenName&lt;br /&gt;
                'urn:oid:0.9.2342.19200300.100.1.3', # mail&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.6', # eduPersonPrincipalName&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.9', # eduPersonScopedAffiliation&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.1', # eduPersonAffiliation&lt;br /&gt;
            ],&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        90 =&amp;gt; 'core:AttributeLimit',&lt;br /&gt;
    ],&lt;br /&gt;
&lt;br /&gt;
    'simplesaml.nameidattribute' =&amp;gt; 'urn:oid:1.3.6.1.4.1.5923.1.1.1.6',&lt;br /&gt;
&lt;br /&gt;
    'attributeencodings' =&amp;gt; array(&lt;br /&gt;
        'urn:oid:1.3.6.1.4.1.5923.1.1.1.10' =&amp;gt; 'raw', /* eduPersonTargetedID with oid NameFormat. */&lt;br /&gt;
    ),&lt;br /&gt;
&lt;br /&gt;
    'sign.logout' =&amp;gt; true&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== attributemap/azure2oid.php ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$attributemap = [&lt;br /&gt;
    // displayName&lt;br /&gt;
    'http://schemas.microsoft.com/identity/claims/displayname' =&amp;gt; 'urn:oid:2.16.840.1.113730.3.1.241',&lt;br /&gt;
    // eppn&lt;br /&gt;
    'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name' =&amp;gt; 'urn:oid:1.3.6.1.4.1.5923.1.1.1.6',&lt;br /&gt;
    // givenName&lt;br /&gt;
    'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname' =&amp;gt; 'urn:oid:2.5.4.42',&lt;br /&gt;
    // cn&lt;br /&gt;
    'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname' =&amp;gt; 'urn:oid:2.5.4.3',&lt;br /&gt;
    // surname&lt;br /&gt;
    'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname' =&amp;gt; 'urn:oid:2.5.4.4',&lt;br /&gt;
    // mail&lt;br /&gt;
    'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress' =&amp;gt; 'urn:oid:0.9.2342.19200300.100.1.3',&lt;br /&gt;
    // o &amp;amp; organisation&lt;br /&gt;
    'http://schemas.microsoft.com/identity/claims/tenantid' =&amp;gt; 'urn:oid:2.5.4.10',&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== attributemap/azure2name.php ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$attributemap = [&lt;br /&gt;
    // eppn&lt;br /&gt;
    'http://schemas.microsoft.com/identity/claims/objectidentifier' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
    // mail&lt;br /&gt;
    'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress' =&amp;gt; 'mail',&lt;br /&gt;
    // displayName&lt;br /&gt;
    'http://schemas.microsoft.com/identity/claims/displayname' =&amp;gt; 'displayName',&lt;br /&gt;
    // givenName&lt;br /&gt;
    'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname' =&amp;gt; 'givenName',&lt;br /&gt;
    // cn&lt;br /&gt;
    'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname' =&amp;gt; 'sn',&lt;br /&gt;
    // affiliation&lt;br /&gt;
    'http://schemas.microsoft.com/ws/2008/06/identity/claims/groups' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Teendők Azure AD oldalon ==&lt;br /&gt;
&lt;br /&gt;
1. A https://portal.azure.com/ oldalon jelentkezzünk be egy adminisztrátori fiókkal&lt;br /&gt;
&lt;br /&gt;
2. Válasszuk az &amp;quot;App registrations&amp;quot;-t&lt;br /&gt;
&lt;br /&gt;
3. &amp;quot;New registration&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. &amp;quot;Redirect URI (optional)&amp;quot; -nál adjuk meg a telepített SSP default SP címét. Pl: https://idp._DOMAIN_/simplesaml/module.php/saml/sp/metadata.php/default-sp&lt;br /&gt;
&lt;br /&gt;
5. &amp;quot;Token configuration&amp;quot; =&amp;gt; &amp;quot;Add optional claim&amp;quot; =&amp;gt; &amp;quot;Token type&amp;quot;-nál válasszuk a &amp;quot;SAML&amp;quot;-t és jelöljük ki az összes attribútumot, majd, &amp;quot;Add&amp;quot;&lt;br /&gt;
&lt;br /&gt;
6 &amp;quot;Add groups claim&amp;quot;, majd mentsük el&lt;br /&gt;
&lt;br /&gt;
[[Fájl:Token configuration.png|none|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
7. Állítsuk be az API persmissions-t az alábbi alapján:&lt;br /&gt;
&lt;br /&gt;
[[Fájl:API permissions.png|none|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
Teszt&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=AAI&amp;diff=4901</id>
		<title>AAI</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=AAI&amp;diff=4901"/>
				<updated>2021-10-25T12:29:12Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: AzureADasAuthsource hozzáadása&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Meghatározások ===&lt;br /&gt;
&lt;br /&gt;
* [[Föderáció]]&lt;br /&gt;
* [[Pont-pont bizalmi kapcsolati modell]]&lt;br /&gt;
* [[Metadata]]&lt;br /&gt;
* [[Föderációs modellek]]&lt;br /&gt;
* [[WAYF | Home Location Service]]&lt;br /&gt;
* [[Shibboleth]]&lt;br /&gt;
* [[AAIGettingStarted | Hogy kezdjem?]]&lt;br /&gt;
&lt;br /&gt;
===Föderációs alapinfrastruktúrák (IdP-k, SP-k)===&lt;br /&gt;
Tapasztalatok alapján IdP esetén egyszerűsége miatt talán jobb választás a simpleSAMLphp, SP esetén Shibboleth ill. simpleSAMLphp egyaránt megfelelő választás mind beállítási, mind üzemeltetési szempontból.&lt;br /&gt;
* Shibboleth IdP: [[Shib3IdpInstall|Telepítés, beállítás]], [[Shibboleth3 IdP|Egyéb leírások]], [[Shibboleth2 IdP|Shibboleth 2 IdP leírások]]&lt;br /&gt;
* Shibboleth SP: [[ShibSP_QuickStart|Kezdőlépések]], [[Shibboleth2 SP|Egyéb leírások]]&lt;br /&gt;
* simpleSAMLphp IdP és SP: [[SSP_QuickStart|Kezdőlépések]]&lt;br /&gt;
* [[AAI/AzureADasAuthsource|Microsoft Azure AD hitelesítési forrás simpleSAMLphp-ben]]&lt;br /&gt;
* [[IdP_whichone|Melyik IdP-t válasszam?]]&lt;br /&gt;
&lt;br /&gt;
===HREF/eduID föderációhoz kapcsolódó tudnivalók===&lt;br /&gt;
* [[HREF Key Rollover 2020]]: Új metaadat aláírókulcs a HREF föderációban&lt;br /&gt;
* [[HREF Key Rollover 2020 English]]: New metadata signing certificate&lt;br /&gt;
* [[HREFContract]]: A föderációhoz kapcsolódó dokumentációk gyűjtőlapja&lt;br /&gt;
* [[HREFAttributeSpec]]: A föderációban használható attribútumok specifikációja&lt;br /&gt;
* [[HREFMetadataSpec]]: A föderációban használt metadata specifikációja&lt;br /&gt;
* [[Resource_Registry]]: A föderáció adminisztrációs felületének leírása&lt;br /&gt;
* [[JoiningEduGAIN]]: Tudnivalók az eduGAIN csatlakozással kapcsolatban&lt;br /&gt;
* [[MDX]]: Igény szerinti metaadat-kiszolgálás&lt;br /&gt;
* [[Sirtfi]]: Föderációs és föderációközi együttműködéshez kapcsolódó incidenskezelés keretei&lt;br /&gt;
* [[URN]]: Magyar NREN-nél használt speciális azonosítók tára&lt;br /&gt;
* [[URN_SCHAC]]: eduID.hu föderációban használt speciális azonosítók tára&lt;br /&gt;
&lt;br /&gt;
===További föderációs megoldások===&lt;br /&gt;
* [[Shibboleth2 DiscoveryService]]: Shibboleth 2.0 SAML-kompatibilis Discovery Service&lt;br /&gt;
* [[OpenSSO]]: Nehézsúlyú Java hozzáférés-szabályozást és federációt megvalósító rendszer&lt;br /&gt;
* [[OpenID]]: Széles körben támogatott, de nem SAML-alapú federációt megvalósító rendszer&lt;br /&gt;
* [[GoogleAuth]]: Google, mint [[OpenID]] szabványú IdP&lt;br /&gt;
* [[mod_mellon]]: SP megoldás apache modulban. A SAML2 motort a [http://lasso.entrouvert.org Lasso] valósítja meg. [http://docs.feide.no/fs-0050]&lt;br /&gt;
* [[oiosaml.java]]: Java SP megoldás, amit a Dán állam is használ. [http://www.softwareborsen.dk/projekter/softwarecenter/brugerstyring/oio-saml-java]&lt;br /&gt;
* [[UApprove]]: Shibboleth 2.1.x IdP-hez illeszthető &amp;quot;consent-modul&amp;quot; beállításának leírása&lt;br /&gt;
* [[Shibboleth troubleshooting]]: Shibboleth hibaelhárítás&lt;br /&gt;
* [[Shibboleth Service Provider (SP) és Docker]]: Shibboleth és Docker összehangolása&lt;br /&gt;
&lt;br /&gt;
===Kiegészítő tudnivalók===&lt;br /&gt;
* [[AAI_szolgáltatási_IP | Szolgáltatási IP tartományok ]]&lt;br /&gt;
* [[Alkalmazások illesztése]]: Néhány alkalmazás Shibboleth-illesztésének leírása&lt;br /&gt;
* [[Interoperabilitás mátrix]]: Shibboleth, OpenSSO, simpleSAMLphp együttműködési mátrix&lt;br /&gt;
* [[Eszközök]]: Hasznos eszközök föderációk üzemeltetéséhez, használatához&lt;br /&gt;
* [[Intézmény átnevezés]]: megfontolandó szempontok&lt;br /&gt;
* [[FedCerts | Tanúsítványok a föderációban]]&lt;br /&gt;
* [[HEXAATest | Test HEXAA (or any SAML AA) from command line]] &lt;br /&gt;
* [[EduIDTest | Hogyan teszteljünk eduID IdP-t vagy SP-t?]]&lt;br /&gt;
* [[Erasmusplus_ESI | Erasmus+ és ESI információk]]&lt;br /&gt;
* [[Publikációk]]&lt;br /&gt;
* [[AAI/AzureADasAuthsource | Azure AD használata azonosítási forrásként ]]&lt;br /&gt;
&lt;br /&gt;
[[Kategória: Összefoglaló lapok]]&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=AAI/AzureADasAuthsource&amp;diff=4898</id>
		<title>AAI/AzureADasAuthsource</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=AAI/AzureADasAuthsource&amp;diff=4898"/>
				<updated>2021-10-13T14:08:34Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: Képek javítása&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Amennyiben Azure AD-ban tároljuk a felhasználói adatokat, úgy lehetőség van azt azonosítási forrásként is használni. A [[SimpleSAMLphp]] oldalon leírt telepítés után az alábbiak elvégzésére van szükség:&lt;br /&gt;
(ez csak egy példakonfiguráció, természetesen el lehet ettől térni)&lt;br /&gt;
&lt;br /&gt;
== Teendők SimpleSAMLPHP (SSP) oldalon ==&lt;br /&gt;
&lt;br /&gt;
Keressük ki az Azure AD-ból a Tenant ID-t. A beállítás során erre _TenantID_-val fogunk hivatkozni, oda minden esetben ezt az azonosítót kell behelyettesíteni. Az azonosítót jelenleg a &lt;br /&gt;
https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview oldalon keresztül lehet beszerezni&lt;br /&gt;
(Forrás: https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-how-to-find-tenant)&lt;br /&gt;
&lt;br /&gt;
A _DOMAIN_ helyére a használni kívánt scope-ot szükséges behelyettesíteni (pl intezmeny.hu)&lt;br /&gt;
&lt;br /&gt;
=== config/authsources.php fájlba ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    'default-sp' =&amp;gt; [&lt;br /&gt;
        'saml:SP',&lt;br /&gt;
&lt;br /&gt;
        // The entity ID of this SP.&lt;br /&gt;
        // Can be NULL/unset, in which case an entity ID is generated based on the metadata URL.&lt;br /&gt;
        'entityID' =&amp;gt; null,&lt;br /&gt;
&lt;br /&gt;
        // The entity ID of the IdP this SP should contact.&lt;br /&gt;
        // Can be NULL/unset, in which case the user will be shown a list of available IdPs.&lt;br /&gt;
        'idp' =&amp;gt; 'https://sts.windows.net/_TenantID_/',&lt;br /&gt;
&lt;br /&gt;
        // The URL to the discovery service.&lt;br /&gt;
        // Can be NULL/unset, in which case a builtin discovery service will be used.&lt;br /&gt;
        'discoURL' =&amp;gt; null,&lt;br /&gt;
        'NameIDFormat' =&amp;gt; 'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent',&lt;br /&gt;
        'simplesaml.nameidattribute' =&amp;gt; 'eduPersonTargetedID',&lt;br /&gt;
&lt;br /&gt;
        /*&lt;br /&gt;
         * The attributes parameter must contain an array of desired attributes by the SP.&lt;br /&gt;
         * The attributes can be expressed as an array of names or as an associative array&lt;br /&gt;
         * in the form of 'friendlyName' =&amp;gt; 'name'. This feature requires 'name' to be set.&lt;br /&gt;
         * The metadata will then be created as follows:&lt;br /&gt;
         * &amp;lt;md:RequestedAttribute FriendlyName=&amp;quot;friendlyName&amp;quot; Name=&amp;quot;name&amp;quot; /&amp;gt;&lt;br /&gt;
         */&lt;br /&gt;
        /*&lt;br /&gt;
        'name' =&amp;gt; [&lt;br /&gt;
            'en' =&amp;gt; 'A service',&lt;br /&gt;
            'no' =&amp;gt; 'En tjeneste',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        'attributes' =&amp;gt; [&lt;br /&gt;
            'attrname' =&amp;gt; 'urn:oid:x.x.x.x',&lt;br /&gt;
        ],&lt;br /&gt;
        'attributes.required' =&amp;gt; [&lt;br /&gt;
            'urn:oid:x.x.x.x',&lt;br /&gt;
        ],&lt;br /&gt;
        */&lt;br /&gt;
    ],&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== config/config-metarefresh.php fájlba ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$config = [&lt;br /&gt;
&lt;br /&gt;
    'sets' =&amp;gt; [&lt;br /&gt;
        'azure' =&amp;gt; [&lt;br /&gt;
            'cron' =&amp;gt; ['hourly'],&lt;br /&gt;
            'sources' =&amp;gt; [&lt;br /&gt;
                [&lt;br /&gt;
                    'src' =&amp;gt; 'https://login.microsoftonline.com/_TenantID_/federationmetadata/2007-06/federationmetadata.xml',&lt;br /&gt;
                ],&lt;br /&gt;
            ],&lt;br /&gt;
            'expireAfter' =&amp;gt; 34560060, // Maximum 4 days cache time (3600*24*4)&lt;br /&gt;
            'outputDir' =&amp;gt; 'metadata/metarefresh-azure',&lt;br /&gt;
            'outputFormat' =&amp;gt; 'flatfile',&lt;br /&gt;
        ],&lt;br /&gt;
    ],&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== metadata/saml20-idp-hosted.php ===&lt;br /&gt;
&lt;br /&gt;
A &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    'authproc' =&amp;gt; [&lt;br /&gt;
&lt;br /&gt;
        10 =&amp;gt; [&lt;br /&gt;
              'class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
              'azure2name'&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        15 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeCopy',&lt;br /&gt;
            'eduPersonPrincipalName' =&amp;gt; 'schacPersonalUniqueCode',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        16 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:PHP',&lt;br /&gt;
            'code' =&amp;gt; '&lt;br /&gt;
                $attributes[&amp;quot;schacPersonalUniqueCode&amp;quot;][0] = &amp;quot;urn:schac:personalUniqueCode:int:esi:_DOMAIN_:&amp;quot; . $attributes[&amp;quot;schacPersonalUniqueCode&amp;quot;][0];&lt;br /&gt;
            ',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        18 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
            'pattern' =&amp;gt; '/^.*$/',&lt;br /&gt;
            'replacement' =&amp;gt; '${0}@_DOMAIN_',&lt;br /&gt;
            'target' =&amp;gt; 'eduPersonPrincipalName'&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        20 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
            'eduPersonEntitlement' =&amp;gt; array('urn:mace:dir:entitlement:common-lib-terms')&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        22 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
            'schacHomeOrganization' =&amp;gt; array('_DOMAIN_')&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        23 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
            'schacHomeOrganizationType' =&amp;gt; array('urn:schac:homeOrganizationType:eu:higherEducationalInstitution')&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
// Azure AD-ban célszerű az affilation-t (intézményhez való viszonyt, pl hallgató, oktató, dolgozó) security group alapján meghatározni. Ezeknek az objektum azonosítóját át fogja adni az Azure AD, amit könnyen kicserélhetünk a kívánt affilation-re:&lt;br /&gt;
&lt;br /&gt;
        31 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
            'pattern' =&amp;gt; '/^_eduID_Dolgozó_GroupID_$/', // _eduID_Dolgozó_GroupID_ értéket cseréljük a megfelelő Objektum ID-ra&lt;br /&gt;
            'replacement' =&amp;gt; 'faculty',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        32 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
            'pattern' =&amp;gt; '/^_eduID_Hallgató_GroupID_$/', // _eduID_Hallgató_GroupID_ értéket cseréljük a megfelelő Objektum ID-ra&lt;br /&gt;
            'replacement' =&amp;gt; 'student',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        33 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
            'pattern' =&amp;gt; '/^_eduID_Admin_GroupID_$/', // _eduID_Admin_GroupID_ értéket cseréljük a megfelelő Objektum ID-ra&lt;br /&gt;
            'replacement' =&amp;gt; 'staff',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        34 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
            'eduPersonAffiliation' =&amp;gt; array('member'),&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        35 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeCopy',&lt;br /&gt;
            'eduPersonAffiliation' =&amp;gt; 'eduPersonScopedAffiliation'&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        36 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonScopedAffiliation',&lt;br /&gt;
            'pattern' =&amp;gt; '/^.*$/',&lt;br /&gt;
            'replacement' =&amp;gt; '${0}@$_DOMAIN_',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        50 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:TargetedID',&lt;br /&gt;
            'identifyingAttribute' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
            'nameId' =&amp;gt; TRUE,&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        60 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
            'name2oid'&lt;br /&gt;
        ],&lt;br /&gt;
        75  =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'entitycategories:EntityCategory',&lt;br /&gt;
            'default' =&amp;gt; true,&lt;br /&gt;
            'strict' =&amp;gt; false,&lt;br /&gt;
            'allowRequestedAttributes' =&amp;gt; true,&lt;br /&gt;
            'http://eduid.hu/category/registered-by-eduidhu' =&amp;gt; [],&lt;br /&gt;
            'http://www.geant.net/uri/dataprotection-code-of-conduct/v1' =&amp;gt; [&lt;br /&gt;
                'urn:oid:2.16.840.1.113730.3.1.241', # displayName&lt;br /&gt;
                'urn:oid:2.5.4.4', # sn&lt;br /&gt;
                'urn:oid:2.5.4.42', # givenName&lt;br /&gt;
                'urn:oid:0.9.2342.19200300.100.1.3', # mail&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.6', # eduPersonPrincipalName&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.9', # eduPersonScopedAffiliation&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.1', # eduPersonAffiliation&lt;br /&gt;
            ],&lt;br /&gt;
            'http://refeds.org/category/research-and-scholarship' =&amp;gt; [&lt;br /&gt;
                'urn:oid:2.16.840.1.113730.3.1.241', # displayName&lt;br /&gt;
                'urn:oid:2.5.4.4', # sn&lt;br /&gt;
                'urn:oid:2.5.4.42', # givenName&lt;br /&gt;
                'urn:oid:0.9.2342.19200300.100.1.3', # mail&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.6', # eduPersonPrincipalName&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.9', # eduPersonScopedAffiliation&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.1', # eduPersonAffiliation&lt;br /&gt;
            ],&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        90 =&amp;gt; 'core:AttributeLimit',&lt;br /&gt;
    ],&lt;br /&gt;
&lt;br /&gt;
    'simplesaml.nameidattribute' =&amp;gt; 'urn:oid:1.3.6.1.4.1.5923.1.1.1.6',&lt;br /&gt;
&lt;br /&gt;
    'attributeencodings' =&amp;gt; array(&lt;br /&gt;
        'urn:oid:1.3.6.1.4.1.5923.1.1.1.10' =&amp;gt; 'raw', /* eduPersonTargetedID with oid NameFormat. */&lt;br /&gt;
    ),&lt;br /&gt;
&lt;br /&gt;
    'sign.logout' =&amp;gt; true&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Teendők Azure AD oldalon ==&lt;br /&gt;
&lt;br /&gt;
1. A https://portal.azure.com/ oldalon jelentkezzünk be egy adminisztrátori fiókkal&lt;br /&gt;
&lt;br /&gt;
2. Válasszuk az &amp;quot;App registrations&amp;quot;-t&lt;br /&gt;
&lt;br /&gt;
3. &amp;quot;New registration&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. &amp;quot;Redirect URI (optional)&amp;quot; -nál adjuk meg a telepített SSP default SP címét. Pl: https://idp._DOMAIN_/simplesaml/module.php/saml/sp/metadata.php/default-sp&lt;br /&gt;
&lt;br /&gt;
5. &amp;quot;Token configuration&amp;quot; =&amp;gt; &amp;quot;Add optional claim&amp;quot; =&amp;gt; &amp;quot;Token type&amp;quot;-nál válasszuk a &amp;quot;SAML&amp;quot;-t és jelöljük ki az összes attribútumot, majd, &amp;quot;Add&amp;quot;&lt;br /&gt;
&lt;br /&gt;
6 &amp;quot;Add groups claim&amp;quot;, majd mentsük el&lt;br /&gt;
&lt;br /&gt;
[[Fájl:Token configuration.png|none|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
7. Állítsuk be az API persmissions-t az alábbi alapján:&lt;br /&gt;
&lt;br /&gt;
[[Fájl:API permissions.png|none|bélyegkép]]&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=AAI/AzureADasAuthsource&amp;diff=4897</id>
		<title>AAI/AzureADasAuthsource</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=AAI/AzureADasAuthsource&amp;diff=4897"/>
				<updated>2021-10-13T14:06:20Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: sorszámozás javítása&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Amennyiben Azure AD-ban tároljuk a felhasználói adatokat, úgy lehetőség van azt azonosítási forrásként is használni. A [[SimpleSAMLphp]] oldalon leírt telepítés után az alábbiak elvégzésére van szükség:&lt;br /&gt;
(ez csak egy példakonfiguráció, természetesen el lehet ettől térni)&lt;br /&gt;
&lt;br /&gt;
== Teendők SimpleSAMLPHP (SSP) oldalon ==&lt;br /&gt;
&lt;br /&gt;
Keressük ki az Azure AD-ból a Tenant ID-t. A beállítás során erre _TenantID_-val fogunk hivatkozni, oda minden esetben ezt az azonosítót kell behelyettesíteni. Az azonosítót jelenleg a &lt;br /&gt;
https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview oldalon keresztül lehet beszerezni&lt;br /&gt;
(Forrás: https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-how-to-find-tenant)&lt;br /&gt;
&lt;br /&gt;
A _DOMAIN_ helyére a használni kívánt scope-ot szükséges behelyettesíteni (pl intezmeny.hu)&lt;br /&gt;
&lt;br /&gt;
=== config/authsources.php fájlba ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    'default-sp' =&amp;gt; [&lt;br /&gt;
        'saml:SP',&lt;br /&gt;
&lt;br /&gt;
        // The entity ID of this SP.&lt;br /&gt;
        // Can be NULL/unset, in which case an entity ID is generated based on the metadata URL.&lt;br /&gt;
        'entityID' =&amp;gt; null,&lt;br /&gt;
&lt;br /&gt;
        // The entity ID of the IdP this SP should contact.&lt;br /&gt;
        // Can be NULL/unset, in which case the user will be shown a list of available IdPs.&lt;br /&gt;
        'idp' =&amp;gt; 'https://sts.windows.net/_TenantID_/',&lt;br /&gt;
&lt;br /&gt;
        // The URL to the discovery service.&lt;br /&gt;
        // Can be NULL/unset, in which case a builtin discovery service will be used.&lt;br /&gt;
        'discoURL' =&amp;gt; null,&lt;br /&gt;
        'NameIDFormat' =&amp;gt; 'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent',&lt;br /&gt;
        'simplesaml.nameidattribute' =&amp;gt; 'eduPersonTargetedID',&lt;br /&gt;
&lt;br /&gt;
        /*&lt;br /&gt;
         * The attributes parameter must contain an array of desired attributes by the SP.&lt;br /&gt;
         * The attributes can be expressed as an array of names or as an associative array&lt;br /&gt;
         * in the form of 'friendlyName' =&amp;gt; 'name'. This feature requires 'name' to be set.&lt;br /&gt;
         * The metadata will then be created as follows:&lt;br /&gt;
         * &amp;lt;md:RequestedAttribute FriendlyName=&amp;quot;friendlyName&amp;quot; Name=&amp;quot;name&amp;quot; /&amp;gt;&lt;br /&gt;
         */&lt;br /&gt;
        /*&lt;br /&gt;
        'name' =&amp;gt; [&lt;br /&gt;
            'en' =&amp;gt; 'A service',&lt;br /&gt;
            'no' =&amp;gt; 'En tjeneste',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        'attributes' =&amp;gt; [&lt;br /&gt;
            'attrname' =&amp;gt; 'urn:oid:x.x.x.x',&lt;br /&gt;
        ],&lt;br /&gt;
        'attributes.required' =&amp;gt; [&lt;br /&gt;
            'urn:oid:x.x.x.x',&lt;br /&gt;
        ],&lt;br /&gt;
        */&lt;br /&gt;
    ],&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== config/config-metarefresh.php fájlba ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$config = [&lt;br /&gt;
&lt;br /&gt;
    'sets' =&amp;gt; [&lt;br /&gt;
        'azure' =&amp;gt; [&lt;br /&gt;
            'cron' =&amp;gt; ['hourly'],&lt;br /&gt;
            'sources' =&amp;gt; [&lt;br /&gt;
                [&lt;br /&gt;
                    'src' =&amp;gt; 'https://login.microsoftonline.com/_TenantID_/federationmetadata/2007-06/federationmetadata.xml',&lt;br /&gt;
                ],&lt;br /&gt;
            ],&lt;br /&gt;
            'expireAfter' =&amp;gt; 34560060, // Maximum 4 days cache time (3600*24*4)&lt;br /&gt;
            'outputDir' =&amp;gt; 'metadata/metarefresh-azure',&lt;br /&gt;
            'outputFormat' =&amp;gt; 'flatfile',&lt;br /&gt;
        ],&lt;br /&gt;
    ],&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== metadata/saml20-idp-hosted.php ===&lt;br /&gt;
&lt;br /&gt;
A &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    'authproc' =&amp;gt; [&lt;br /&gt;
&lt;br /&gt;
        10 =&amp;gt; [&lt;br /&gt;
              'class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
              'azure2name'&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        15 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeCopy',&lt;br /&gt;
            'eduPersonPrincipalName' =&amp;gt; 'schacPersonalUniqueCode',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        16 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:PHP',&lt;br /&gt;
            'code' =&amp;gt; '&lt;br /&gt;
                $attributes[&amp;quot;schacPersonalUniqueCode&amp;quot;][0] = &amp;quot;urn:schac:personalUniqueCode:int:esi:_DOMAIN_:&amp;quot; . $attributes[&amp;quot;schacPersonalUniqueCode&amp;quot;][0];&lt;br /&gt;
            ',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        18 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
            'pattern' =&amp;gt; '/^.*$/',&lt;br /&gt;
            'replacement' =&amp;gt; '${0}@_DOMAIN_',&lt;br /&gt;
            'target' =&amp;gt; 'eduPersonPrincipalName'&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        20 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
            'eduPersonEntitlement' =&amp;gt; array('urn:mace:dir:entitlement:common-lib-terms')&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        22 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
            'schacHomeOrganization' =&amp;gt; array('_DOMAIN_')&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        23 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
            'schacHomeOrganizationType' =&amp;gt; array('urn:schac:homeOrganizationType:eu:higherEducationalInstitution')&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
// Azure AD-ban célszerű az affilation-t (intézményhez való viszonyt, pl hallgató, oktató, dolgozó) security group alapján meghatározni. Ezeknek az objektum azonosítóját át fogja adni az Azure AD, amit könnyen kicserélhetünk a kívánt affilation-re:&lt;br /&gt;
&lt;br /&gt;
        31 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
            'pattern' =&amp;gt; '/^_eduID_Dolgozó_GroupID_$/', // _eduID_Dolgozó_GroupID_ értéket cseréljük a megfelelő Objektum ID-ra&lt;br /&gt;
            'replacement' =&amp;gt; 'faculty',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        32 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
            'pattern' =&amp;gt; '/^_eduID_Hallgató_GroupID_$/', // _eduID_Hallgató_GroupID_ értéket cseréljük a megfelelő Objektum ID-ra&lt;br /&gt;
            'replacement' =&amp;gt; 'student',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        33 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
            'pattern' =&amp;gt; '/^_eduID_Admin_GroupID_$/', // _eduID_Admin_GroupID_ értéket cseréljük a megfelelő Objektum ID-ra&lt;br /&gt;
            'replacement' =&amp;gt; 'staff',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        34 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
            'eduPersonAffiliation' =&amp;gt; array('member'),&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        35 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeCopy',&lt;br /&gt;
            'eduPersonAffiliation' =&amp;gt; 'eduPersonScopedAffiliation'&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        36 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonScopedAffiliation',&lt;br /&gt;
            'pattern' =&amp;gt; '/^.*$/',&lt;br /&gt;
            'replacement' =&amp;gt; '${0}@$_DOMAIN_',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        50 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:TargetedID',&lt;br /&gt;
            'identifyingAttribute' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
            'nameId' =&amp;gt; TRUE,&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        60 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
            'name2oid'&lt;br /&gt;
        ],&lt;br /&gt;
        75  =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'entitycategories:EntityCategory',&lt;br /&gt;
            'default' =&amp;gt; true,&lt;br /&gt;
            'strict' =&amp;gt; false,&lt;br /&gt;
            'allowRequestedAttributes' =&amp;gt; true,&lt;br /&gt;
            'http://eduid.hu/category/registered-by-eduidhu' =&amp;gt; [],&lt;br /&gt;
            'http://www.geant.net/uri/dataprotection-code-of-conduct/v1' =&amp;gt; [&lt;br /&gt;
                'urn:oid:2.16.840.1.113730.3.1.241', # displayName&lt;br /&gt;
                'urn:oid:2.5.4.4', # sn&lt;br /&gt;
                'urn:oid:2.5.4.42', # givenName&lt;br /&gt;
                'urn:oid:0.9.2342.19200300.100.1.3', # mail&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.6', # eduPersonPrincipalName&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.9', # eduPersonScopedAffiliation&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.1', # eduPersonAffiliation&lt;br /&gt;
            ],&lt;br /&gt;
            'http://refeds.org/category/research-and-scholarship' =&amp;gt; [&lt;br /&gt;
                'urn:oid:2.16.840.1.113730.3.1.241', # displayName&lt;br /&gt;
                'urn:oid:2.5.4.4', # sn&lt;br /&gt;
                'urn:oid:2.5.4.42', # givenName&lt;br /&gt;
                'urn:oid:0.9.2342.19200300.100.1.3', # mail&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.6', # eduPersonPrincipalName&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.9', # eduPersonScopedAffiliation&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.1', # eduPersonAffiliation&lt;br /&gt;
            ],&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        90 =&amp;gt; 'core:AttributeLimit',&lt;br /&gt;
    ],&lt;br /&gt;
&lt;br /&gt;
    'simplesaml.nameidattribute' =&amp;gt; 'urn:oid:1.3.6.1.4.1.5923.1.1.1.6',&lt;br /&gt;
&lt;br /&gt;
    'attributeencodings' =&amp;gt; array(&lt;br /&gt;
        'urn:oid:1.3.6.1.4.1.5923.1.1.1.10' =&amp;gt; 'raw', /* eduPersonTargetedID with oid NameFormat. */&lt;br /&gt;
    ),&lt;br /&gt;
&lt;br /&gt;
    'sign.logout' =&amp;gt; true&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Teendők Azure AD oldalon ==&lt;br /&gt;
&lt;br /&gt;
1. A https://portal.azure.com/ oldalon jelentkezzünk be egy adminisztrátori fiókkal&lt;br /&gt;
2. Válasszuk az &amp;quot;App registrations&amp;quot;-t&lt;br /&gt;
3. &amp;quot;New registration&amp;quot;&lt;br /&gt;
4. &amp;quot;Redirect URI (optional)&amp;quot; -nál adjuk meg a telepített SSP default SP címét. Pl: https://idp._DOMAIN_/simplesaml/module.php/saml/sp/metadata.php/default-sp&lt;br /&gt;
5. &amp;quot;Token configuration&amp;quot; =&amp;gt; &amp;quot;Add optional claim&amp;quot; =&amp;gt; &amp;quot;Token type&amp;quot;-nál válasszuk a &amp;quot;SAML&amp;quot;-t és jelöljük ki az összes attribútumot, majd, &amp;quot;Add&amp;quot;&lt;br /&gt;
6 &amp;quot;Add groups claim&amp;quot;, majd mentsük el&lt;br /&gt;
&lt;br /&gt;
[[Fájl:Token configuration.png|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
7. Állítsuk be az API persmissions-t az alábbi alapján:&lt;br /&gt;
&lt;br /&gt;
[[Fájl:API permissions.png|bélyegkép]]&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=AAI/AzureADasAuthsource&amp;diff=4896</id>
		<title>AAI/AzureADasAuthsource</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=AAI/AzureADasAuthsource&amp;diff=4896"/>
				<updated>2021-10-13T14:05:30Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: Új oldal, tartalma: „Amennyiben Azure AD-ban tároljuk a felhasználói adatokat, úgy lehetőség van azt azonosítási forrásként is használni. A SimpleSAMLphp oldalon leírt telep…”&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Amennyiben Azure AD-ban tároljuk a felhasználói adatokat, úgy lehetőség van azt azonosítási forrásként is használni. A [[SimpleSAMLphp]] oldalon leírt telepítés után az alábbiak elvégzésére van szükség:&lt;br /&gt;
(ez csak egy példakonfiguráció, természetesen el lehet ettől térni)&lt;br /&gt;
&lt;br /&gt;
== Teendők SimpleSAMLPHP (SSP) oldalon ==&lt;br /&gt;
&lt;br /&gt;
Keressük ki az Azure AD-ból a Tenant ID-t. A beállítás során erre _TenantID_-val fogunk hivatkozni, oda minden esetben ezt az azonosítót kell behelyettesíteni. Az azonosítót jelenleg a &lt;br /&gt;
https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview oldalon keresztül lehet beszerezni&lt;br /&gt;
(Forrás: https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-how-to-find-tenant)&lt;br /&gt;
&lt;br /&gt;
A _DOMAIN_ helyére a használni kívánt scope-ot szükséges behelyettesíteni (pl intezmeny.hu)&lt;br /&gt;
&lt;br /&gt;
=== config/authsources.php fájlba ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    'default-sp' =&amp;gt; [&lt;br /&gt;
        'saml:SP',&lt;br /&gt;
&lt;br /&gt;
        // The entity ID of this SP.&lt;br /&gt;
        // Can be NULL/unset, in which case an entity ID is generated based on the metadata URL.&lt;br /&gt;
        'entityID' =&amp;gt; null,&lt;br /&gt;
&lt;br /&gt;
        // The entity ID of the IdP this SP should contact.&lt;br /&gt;
        // Can be NULL/unset, in which case the user will be shown a list of available IdPs.&lt;br /&gt;
        'idp' =&amp;gt; 'https://sts.windows.net/_TenantID_/',&lt;br /&gt;
&lt;br /&gt;
        // The URL to the discovery service.&lt;br /&gt;
        // Can be NULL/unset, in which case a builtin discovery service will be used.&lt;br /&gt;
        'discoURL' =&amp;gt; null,&lt;br /&gt;
        'NameIDFormat' =&amp;gt; 'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent',&lt;br /&gt;
        'simplesaml.nameidattribute' =&amp;gt; 'eduPersonTargetedID',&lt;br /&gt;
&lt;br /&gt;
        /*&lt;br /&gt;
         * The attributes parameter must contain an array of desired attributes by the SP.&lt;br /&gt;
         * The attributes can be expressed as an array of names or as an associative array&lt;br /&gt;
         * in the form of 'friendlyName' =&amp;gt; 'name'. This feature requires 'name' to be set.&lt;br /&gt;
         * The metadata will then be created as follows:&lt;br /&gt;
         * &amp;lt;md:RequestedAttribute FriendlyName=&amp;quot;friendlyName&amp;quot; Name=&amp;quot;name&amp;quot; /&amp;gt;&lt;br /&gt;
         */&lt;br /&gt;
        /*&lt;br /&gt;
        'name' =&amp;gt; [&lt;br /&gt;
            'en' =&amp;gt; 'A service',&lt;br /&gt;
            'no' =&amp;gt; 'En tjeneste',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        'attributes' =&amp;gt; [&lt;br /&gt;
            'attrname' =&amp;gt; 'urn:oid:x.x.x.x',&lt;br /&gt;
        ],&lt;br /&gt;
        'attributes.required' =&amp;gt; [&lt;br /&gt;
            'urn:oid:x.x.x.x',&lt;br /&gt;
        ],&lt;br /&gt;
        */&lt;br /&gt;
    ],&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== config/config-metarefresh.php fájlba ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$config = [&lt;br /&gt;
&lt;br /&gt;
    'sets' =&amp;gt; [&lt;br /&gt;
        'azure' =&amp;gt; [&lt;br /&gt;
            'cron' =&amp;gt; ['hourly'],&lt;br /&gt;
            'sources' =&amp;gt; [&lt;br /&gt;
                [&lt;br /&gt;
                    'src' =&amp;gt; 'https://login.microsoftonline.com/_TenantID_/federationmetadata/2007-06/federationmetadata.xml',&lt;br /&gt;
                ],&lt;br /&gt;
            ],&lt;br /&gt;
            'expireAfter' =&amp;gt; 34560060, // Maximum 4 days cache time (3600*24*4)&lt;br /&gt;
            'outputDir' =&amp;gt; 'metadata/metarefresh-azure',&lt;br /&gt;
            'outputFormat' =&amp;gt; 'flatfile',&lt;br /&gt;
        ],&lt;br /&gt;
    ],&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== metadata/saml20-idp-hosted.php ===&lt;br /&gt;
&lt;br /&gt;
A &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    'authproc' =&amp;gt; [&lt;br /&gt;
&lt;br /&gt;
        10 =&amp;gt; [&lt;br /&gt;
              'class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
              'azure2name'&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        15 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeCopy',&lt;br /&gt;
            'eduPersonPrincipalName' =&amp;gt; 'schacPersonalUniqueCode',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        16 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:PHP',&lt;br /&gt;
            'code' =&amp;gt; '&lt;br /&gt;
                $attributes[&amp;quot;schacPersonalUniqueCode&amp;quot;][0] = &amp;quot;urn:schac:personalUniqueCode:int:esi:_DOMAIN_:&amp;quot; . $attributes[&amp;quot;schacPersonalUniqueCode&amp;quot;][0];&lt;br /&gt;
            ',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        18 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
            'pattern' =&amp;gt; '/^.*$/',&lt;br /&gt;
            'replacement' =&amp;gt; '${0}@_DOMAIN_',&lt;br /&gt;
            'target' =&amp;gt; 'eduPersonPrincipalName'&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        20 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
            'eduPersonEntitlement' =&amp;gt; array('urn:mace:dir:entitlement:common-lib-terms')&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        22 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
            'schacHomeOrganization' =&amp;gt; array('_DOMAIN_')&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        23 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
            'schacHomeOrganizationType' =&amp;gt; array('urn:schac:homeOrganizationType:eu:higherEducationalInstitution')&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
// Azure AD-ban célszerű az affilation-t (intézményhez való viszonyt, pl hallgató, oktató, dolgozó) security group alapján meghatározni. Ezeknek az objektum azonosítóját át fogja adni az Azure AD, amit könnyen kicserélhetünk a kívánt affilation-re:&lt;br /&gt;
&lt;br /&gt;
        31 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
            'pattern' =&amp;gt; '/^_eduID_Dolgozó_GroupID_$/', // _eduID_Dolgozó_GroupID_ értéket cseréljük a megfelelő Objektum ID-ra&lt;br /&gt;
            'replacement' =&amp;gt; 'faculty',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        32 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
            'pattern' =&amp;gt; '/^_eduID_Hallgató_GroupID_$/', // _eduID_Hallgató_GroupID_ értéket cseréljük a megfelelő Objektum ID-ra&lt;br /&gt;
            'replacement' =&amp;gt; 'student',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        33 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
            'pattern' =&amp;gt; '/^_eduID_Admin_GroupID_$/', // _eduID_Admin_GroupID_ értéket cseréljük a megfelelő Objektum ID-ra&lt;br /&gt;
            'replacement' =&amp;gt; 'staff',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        34 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
            'eduPersonAffiliation' =&amp;gt; array('member'),&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        35 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeCopy',&lt;br /&gt;
            'eduPersonAffiliation' =&amp;gt; 'eduPersonScopedAffiliation'&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        36 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
            'subject' =&amp;gt; 'eduPersonScopedAffiliation',&lt;br /&gt;
            'pattern' =&amp;gt; '/^.*$/',&lt;br /&gt;
            'replacement' =&amp;gt; '${0}@$_DOMAIN_',&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        50 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:TargetedID',&lt;br /&gt;
            'identifyingAttribute' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
            'nameId' =&amp;gt; TRUE,&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        60 =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
            'name2oid'&lt;br /&gt;
        ],&lt;br /&gt;
        75  =&amp;gt; [&lt;br /&gt;
            'class' =&amp;gt; 'entitycategories:EntityCategory',&lt;br /&gt;
            'default' =&amp;gt; true,&lt;br /&gt;
            'strict' =&amp;gt; false,&lt;br /&gt;
            'allowRequestedAttributes' =&amp;gt; true,&lt;br /&gt;
            'http://eduid.hu/category/registered-by-eduidhu' =&amp;gt; [],&lt;br /&gt;
            'http://www.geant.net/uri/dataprotection-code-of-conduct/v1' =&amp;gt; [&lt;br /&gt;
                'urn:oid:2.16.840.1.113730.3.1.241', # displayName&lt;br /&gt;
                'urn:oid:2.5.4.4', # sn&lt;br /&gt;
                'urn:oid:2.5.4.42', # givenName&lt;br /&gt;
                'urn:oid:0.9.2342.19200300.100.1.3', # mail&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.6', # eduPersonPrincipalName&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.9', # eduPersonScopedAffiliation&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.1', # eduPersonAffiliation&lt;br /&gt;
            ],&lt;br /&gt;
            'http://refeds.org/category/research-and-scholarship' =&amp;gt; [&lt;br /&gt;
                'urn:oid:2.16.840.1.113730.3.1.241', # displayName&lt;br /&gt;
                'urn:oid:2.5.4.4', # sn&lt;br /&gt;
                'urn:oid:2.5.4.42', # givenName&lt;br /&gt;
                'urn:oid:0.9.2342.19200300.100.1.3', # mail&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.6', # eduPersonPrincipalName&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.9', # eduPersonScopedAffiliation&lt;br /&gt;
                'urn:oid:1.3.6.1.4.1.5923.1.1.1.1', # eduPersonAffiliation&lt;br /&gt;
            ],&lt;br /&gt;
        ],&lt;br /&gt;
&lt;br /&gt;
        90 =&amp;gt; 'core:AttributeLimit',&lt;br /&gt;
    ],&lt;br /&gt;
&lt;br /&gt;
    'simplesaml.nameidattribute' =&amp;gt; 'urn:oid:1.3.6.1.4.1.5923.1.1.1.6',&lt;br /&gt;
&lt;br /&gt;
    'attributeencodings' =&amp;gt; array(&lt;br /&gt;
        'urn:oid:1.3.6.1.4.1.5923.1.1.1.10' =&amp;gt; 'raw', /* eduPersonTargetedID with oid NameFormat. */&lt;br /&gt;
    ),&lt;br /&gt;
&lt;br /&gt;
    'sign.logout' =&amp;gt; true&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Teendők Azure AD oldalon ==&lt;br /&gt;
&lt;br /&gt;
# A https://portal.azure.com/ oldalon jelentkezzünk be egy adminisztrátori fiókkal&lt;br /&gt;
# Válasszuk az &amp;quot;App registrations&amp;quot;-t&lt;br /&gt;
# &amp;quot;New registration&amp;quot;&lt;br /&gt;
# &amp;quot;Redirect URI (optional)&amp;quot; -nál adjuk meg a telepített SSP default SP címét. Pl: https://idp._DOMAIN_/simplesaml/module.php/saml/sp/metadata.php/default-sp&lt;br /&gt;
# &amp;quot;Token configuration&amp;quot; =&amp;gt; &amp;quot;Add optional claim&amp;quot; =&amp;gt; &amp;quot;Token type&amp;quot;-nál válasszuk a &amp;quot;SAML&amp;quot;-t és jelöljük ki az összes attribútumot, majd, &amp;quot;Add&amp;quot;&lt;br /&gt;
# &amp;quot;Add groups claim&amp;quot;, majd mentsük el&lt;br /&gt;
&lt;br /&gt;
[[Fájl:Token configuration.png|bélyegkép]]&lt;br /&gt;
&lt;br /&gt;
# Állítsuk be az API persmissions-t az alábbi alapján:&lt;br /&gt;
&lt;br /&gt;
[[Fájl:API permissions.png|bélyegkép]]&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=F%C3%A1jl:API_permissions.png&amp;diff=4895</id>
		<title>Fájl:API permissions.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=F%C3%A1jl:API_permissions.png&amp;diff=4895"/>
				<updated>2021-10-13T14:04:57Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;API permissions&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=F%C3%A1jl:Token_configuration.png&amp;diff=4894</id>
		<title>Fájl:Token configuration.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=F%C3%A1jl:Token_configuration.png&amp;diff=4894"/>
				<updated>2021-10-13T14:02:31Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Token configuration&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Metadata_Specification&amp;diff=4627</id>
		<title>Metadata Specification</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Metadata_Specification&amp;diff=4627"/>
				<updated>2020-06-04T06:18:42Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: /* Verification of the metadata file */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Information about the entities of the Federation is maintained in a signed XML document, called the federation metadata.&lt;br /&gt;
&lt;br /&gt;
== Metadata publishing rules ==&lt;br /&gt;
The metadata file is available both at http://metadata.eduid.hu/current/href.xml and https://metadata.eduid.hu/current/href.xml, however the unencrypted method is preferred. The file is stored on a highly available file server.&lt;br /&gt;
&lt;br /&gt;
The metadata file is re-published every ''4 hours'' or whenever the entity information changes (eg. entities are added or modified). Entities are expected to refresh metadata information regularly, although the  &amp;lt;code&amp;gt;cacheDuration&amp;lt;/code&amp;gt; attribute is currently not in use (for interoperability reasons).&lt;br /&gt;
&lt;br /&gt;
== Trust in metadata ==&lt;br /&gt;
The information inside the metadata file must not be trusted after the date specified in the &amp;lt;code&amp;gt;validUntil&amp;lt;/code&amp;gt; field of the topmost &amp;lt;code&amp;gt;EntitiesDescriptor&amp;lt;/code&amp;gt; is expired. The expiration time is is set to '''7 days''' after the instant of the signature.&lt;br /&gt;
&lt;br /&gt;
=== Verification of the metadata file ===&lt;br /&gt;
The contents of the metadata file must be trusted only if the signature of the Federation Operator can be validated.&lt;br /&gt;
&lt;br /&gt;
The Federation Operator uses a self-signed certificate for signing the metadata file, therefore the signing key must be explicitly trusted. Properties of the signing certificate:&lt;br /&gt;
* DN: &amp;lt;code&amp;gt;C=HU, O=NIIF Institute, OU=eduID Federation Operator, CN=Metadata Signer/emailAddress=aai@niif.hu&amp;lt;/code&amp;gt;&lt;br /&gt;
* MD5 fingerprint: &amp;lt;code&amp;gt;21:8C:BE:B4:D1:D6:12:C4:67:9F:16:FA:93:36:F6:A4&amp;lt;/code&amp;gt;&lt;br /&gt;
* SHA1 fingerprint: &amp;lt;code&amp;gt;FE:AE:0B:E8:FB:59:ED:F7:CB:7F:69:DF:19:4F:8B:6D:C7:F6:96:66&amp;lt;/code&amp;gt;&lt;br /&gt;
* Availability: from &amp;lt;code&amp;gt;Oct 5 08:18:46 2011 GMT&amp;lt;/code&amp;gt; until &amp;lt;code&amp;gt;Sep 30 08:18:46 2031 GMT&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The certificate used for signing can be downloaded from https://metadata.eduid.hu/2011/href-metadata-signer-2011.crt , which link should lead to a page without certificate warnings with most browsers. It is recommended to request the signing certificate from the Federation Operator by using some other verifiable transport as well (such as PGP-signed email).&lt;br /&gt;
&lt;br /&gt;
=== Signing procedure ===&lt;br /&gt;
Information about the entities is retrieved from the Resource Registry by using strong server authentication. If the contents of the metadata changes, it is saved to a version control system and the 'diff' is sent to a public mailing list ([https://listserv.niif.hu/mailman/listinfo/href-metadata-changes href-metadata-changes])&lt;br /&gt;
&lt;br /&gt;
The signing operation is done by a PIN-protected hardware token.&lt;br /&gt;
&lt;br /&gt;
=== Signing key change or revocation ===&lt;br /&gt;
Changes of the signing key/certificate is always negotiated with the technical contacts of all federation entities.&lt;br /&gt;
== Authenticating peer entities ==&lt;br /&gt;
It is recommended for all entities to use self-signed certificates, however, even if an entity uses a certificate signed by an external CA, it shall not be assumed that peers use any kind of PKI path validation or revocation checking.&lt;br /&gt;
=== Entity certificate change or revocation ===&lt;br /&gt;
An entity should change its signing certificate by allowing a time frame, when both the old and the new certificate is available in the metadata. &lt;br /&gt;
&lt;br /&gt;
If an entity certificate is compromised, the Federation Operator must be notified immediately. The certificate is removed from the metadata and either replaced by a new one or the entity is removed from the metadata file. On such an incident, all technical contacts are notified to do an immediate metadata refresh to shorten the attack window.&lt;br /&gt;
&lt;br /&gt;
== Metadata extensions ==&lt;br /&gt;
Extension elements must be either interpreted according to their specification or ignored completely (while they are valid XML).&lt;br /&gt;
&lt;br /&gt;
== Non-federation metadata sets ==&lt;br /&gt;
The federation signing engine is able to produce files other than the federation metadata (called metadata sets). These files are available at https://metadata.eduid.hu/current/, all signed with the same credentials as the federation metadata, therefore it is easy to add them as an auxiliary metadata source.&lt;br /&gt;
* &amp;lt;code&amp;gt;href-test.xml&amp;lt;/code&amp;gt;: staging federation metadata. Any federation member may register entities in this set.&lt;br /&gt;
* &amp;lt;code&amp;gt;href-edugain.xml&amp;lt;/code&amp;gt;: entities that are '''exported''' to [http://edugain.org eduGAIN] confederation. This file is consumed by eduGAIN MDS only. As eduGAIN follows an opt-in policy, only those entities are present in this set, whose administrators explicitly requested to be published in eduGAIN.&lt;br /&gt;
* &amp;lt;code&amp;gt;edugain.xml&amp;lt;/code&amp;gt;: entities that are '''imported''' from [http://edugain.org eduGAIN] confederation (minus Hungarian entities). If an entity wants to collaborate with eduGAIN entities from other federations, it needs to load this file.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;institution&amp;gt;.xml&amp;lt;/code&amp;gt;: institution-specific metadata sets, which are maintained by the administrators of the institution. SPs inside this set are not required to be accepted by the federation, thus they are assumed to be used within the institution only.&lt;br /&gt;
&lt;br /&gt;
Although an entity might appear in multiple sets, the entity information (including the entityID) must be the same across all sets. It is not allowed to register the same entity into multiple institution sets; the federation set must be used instead.&lt;br /&gt;
&lt;br /&gt;
== Metadata registration ==&lt;br /&gt;
Entity metadata management is performed by using Resource Registry, no direct editing is supported.&lt;br /&gt;
&lt;br /&gt;
Depending on the access level, the following administrative tasks may be performed:&lt;br /&gt;
* ''Federation administrators'' are entitled to:&lt;br /&gt;
** register new institutions&lt;br /&gt;
** manage ''Institutional Administrators''&lt;br /&gt;
** manage Partner SPs&lt;br /&gt;
** add or remove IdPs&lt;br /&gt;
** manage production federation set and eduGAIN export set (see the section about metadata sets above)&lt;br /&gt;
* ''Institutional Administrators'' are entitled to:&lt;br /&gt;
** register new SPs and place them to the institutional metadata and/or staging federation metadata sets&lt;br /&gt;
** manage the SPs of the institution&lt;br /&gt;
** request the inclusion of an SP to the federation metadata or the eduGAIN export from the Federation Operator&lt;br /&gt;
** add or remove SP administrators&lt;br /&gt;
** add or remove Privacy Administrators&lt;br /&gt;
** manage the IdP(s) of the institution &lt;br /&gt;
* ''SP administrators'' are entitled to:&lt;br /&gt;
** manage the SPs, which are assigned to them&lt;br /&gt;
* ''Privacy Administrators'' are entitled to:&lt;br /&gt;
** manage attribute release rules of the IdP of the institution&lt;br /&gt;
&lt;br /&gt;
Accordingly, all partner SP metadata management is performed by the Federation Operator, by the request of the Techical/Administrative Contact of the Partner.&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=HPC&amp;diff=4193</id>
		<title>HPC</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=HPC&amp;diff=4193"/>
				<updated>2017-09-02T15:35:53Z</updated>
		
		<summary type="html">&lt;p&gt;Dattila(AT)niif.hu: Hibás link a HPC vizualizációnál&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[HPC_en|NIIF HPC in ENGLISH]]&lt;br /&gt;
&lt;br /&gt;
== A szuperszámítógépekről ==&lt;br /&gt;
A Kormányzati Informatikai Fejlesztési Ügynökség (KIFÜ) szuperszámítógép szolgáltatása tudományos számítási feladatok futtatására, valamint tudományos célú adattárolásra szolgál. A jelenleg integrált szuperszámítógép-rendszer komponensei négy helyszínen találhatók:&lt;br /&gt;
&lt;br /&gt;
* Debreceni Egyetem&lt;br /&gt;
* NIIFI központ&lt;br /&gt;
* Pécsi Tudományegyetem&lt;br /&gt;
* Szegedi Tudományegyetem&lt;br /&gt;
* Miskolci Egyetem&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fájl:Orszagos-attekinto_hpc.png|center|700px|alt=Az NIIF szuperszámítógépei térképen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A tudományos számítási feladatok különböző típusainak minél szélesebb körű lefedettsége érdekében az egyes helyszíneken különböző felépítésű gépek találhatók: két helyszínen ccNUMA, három helyszínen pedig &amp;quot;fat-node&amp;quot; fürtözött megoldás. Az alrendszereket a KIFÜ nagy sávszélességű, alacsony késleltetésű HBONE+ adathálózatán keresztül, ARC grid köztesréteg, valamint harmonizált felhasználói azonosítás segítségével integráljuk egységes elvek mentén elérhető számítási egységgé. Az erőforrás jelenleg Magyarország legnagyobb tudományos számítás céljára felhasználható erőforrása, amely összesen 50 billió lebegőpontos művelet elvégzését teszi lehetővé másodpercenként.&lt;br /&gt;
A szuperszámítógép-rendszert a KIFÜ üzemelteti és fejleszti. A rendszerhez regisztrációt követően, minden olyan személy vagy kutatócsoport hozzáférhet, amely tagintézményi szerződéses kapcsolatban áll a KIFÜ-vel.&lt;br /&gt;
A gépen megtalálhatók és futtathatók a legkorszerűbb fejlesztőeszközök és tudományos számításra szolgáló alkalmazások, valamint, az NIIF Program adatközpontban elhelyezett alrendszer kivételével, valamennyi alrendszer kiegészül a számítási feladatok eredményeit megjelenítő vizualizációs eszközökkel.&lt;br /&gt;
&lt;br /&gt;
==== Szuperszámítógépeink összehasonlítása ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; &lt;br /&gt;
|- &lt;br /&gt;
| Helyszín&lt;br /&gt;
| Budapest&lt;br /&gt;
| [[Budapest2_klaszter|Budapest2]]&lt;br /&gt;
| Szeged&lt;br /&gt;
| Debrecen&lt;br /&gt;
| [[Debrecen2_GPU_klaszter|Debrecen2-GPU (Leo)]] &lt;br /&gt;
| [[Debrecen2_Phi_klaszter|Debrecen3-Phi (Apollo) (tesztüzem)]] &lt;br /&gt;
| Pécs&lt;br /&gt;
&lt;br /&gt;
| [[Miskolc_UV_2000|Miskolc]] (tesztüzem)&lt;br /&gt;
|- &lt;br /&gt;
| Típus&lt;br /&gt;
| HP CP4000SL&lt;br /&gt;
| HP SL250s &lt;br /&gt;
| HP CP4000BL&lt;br /&gt;
| SGI ICE8400EX&lt;br /&gt;
| HP SL250s&lt;br /&gt;
&lt;br /&gt;
| HP Apollo 8000&lt;br /&gt;
| SGI UV 1000&lt;br /&gt;
&lt;br /&gt;
| SGI UV 2000&lt;br /&gt;
|- &lt;br /&gt;
| CPU-k / node &lt;br /&gt;
| 2&lt;br /&gt;
| 2 &lt;br /&gt;
| 4 &lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
&lt;br /&gt;
| 2 &lt;br /&gt;
| 192&lt;br /&gt;
&lt;br /&gt;
| 44 &lt;br /&gt;
|- &lt;br /&gt;
| Core-ok / CPU &lt;br /&gt;
| 12&lt;br /&gt;
| 10&lt;br /&gt;
| 12&lt;br /&gt;
| 6&lt;br /&gt;
| 8&lt;br /&gt;
| 12&lt;br /&gt;
| 6&lt;br /&gt;
| 8&lt;br /&gt;
|- &lt;br /&gt;
| Memória / node &lt;br /&gt;
| 66 GB&lt;br /&gt;
| 63 GB &lt;br /&gt;
| 132 GB&lt;br /&gt;
| 47 GB&lt;br /&gt;
| 125 GB&lt;br /&gt;
| 125 GB&lt;br /&gt;
| 6 TB&lt;br /&gt;
| 1.4 TB&lt;br /&gt;
|- &lt;br /&gt;
| Memória / core &lt;br /&gt;
| 2.6 GB&lt;br /&gt;
| 3 GB &lt;br /&gt;
| 2.6 GB&lt;br /&gt;
| 2.6 GB&lt;br /&gt;
| 7.5 GB&lt;br /&gt;
| 5,2 GB&lt;br /&gt;
| 5 GB&lt;br /&gt;
| 4 GB&lt;br /&gt;
|- &lt;br /&gt;
| CPU &lt;br /&gt;
| AMD Opteron 6174 @ 2.2GHz&lt;br /&gt;
| Intel Xeon E5-2680 v2 @ 2.80GHz    &lt;br /&gt;
| AMD Opteron 6174 @ 2.2GHz &lt;br /&gt;
| Intel Xeon X5680 @ 3.33 GHz&lt;br /&gt;
| Intel Xeon E5-2650 v2 @ 2.60GHz &lt;br /&gt;
| Intel Xeon E5-2670 v3 @ 2.30GHz&lt;br /&gt;
| Intel Xeon X7542 @ 2.66 GHz&lt;br /&gt;
| Intel Xeon E5-4627 v2 @ 3.33 GHz&lt;br /&gt;
|- &lt;br /&gt;
| GPU &lt;br /&gt;
| -&lt;br /&gt;
| -   &lt;br /&gt;
| 2 * 6 Nvidia M2070&lt;br /&gt;
| -&lt;br /&gt;
| 68 * 3 Nvidia K20x + 16 * 3 Nvidia K40x &lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Intel Xeon Phi (KNC)&lt;br /&gt;
| -&lt;br /&gt;
| [[Intel_Xeon_Phi |14 * 2 * Intel(R) Xeon Phi(TM) MIC SE10/7120]]&lt;br /&gt;
| -&lt;br /&gt;
| -  &lt;br /&gt;
| -&lt;br /&gt;
| [[Intel_Xeon_Phi |45 * 2 * Intel(R) Xeon Phi(TM) MIC SE10/7120]]&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|- &lt;br /&gt;
| Linpack teljesítmény (Rmax)&lt;br /&gt;
| 5 Tflops&lt;br /&gt;
| 27 Tflops&lt;br /&gt;
| 20 Tflops&lt;br /&gt;
| 18 Tlops&lt;br /&gt;
| 254 Tflops&lt;br /&gt;
| ~106 Tflops&lt;br /&gt;
| 10 Tflops&lt;br /&gt;
| 8 Tflops&lt;br /&gt;
|- &lt;br /&gt;
| Compute node-ok száma &lt;br /&gt;
| 32&lt;br /&gt;
| 14&lt;br /&gt;
| 50&lt;br /&gt;
| 128&lt;br /&gt;
| 84&lt;br /&gt;
| 45&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
|-  &lt;br /&gt;
| Dedikált storage &lt;br /&gt;
| 50 TB&lt;br /&gt;
| 500 TB&lt;br /&gt;
| 250 TB&lt;br /&gt;
| 500 TB&lt;br /&gt;
| 585 TB (Phi-vel közös)&lt;br /&gt;
| 585 TB (GPU-val közös)&lt;br /&gt;
| 500 TB&lt;br /&gt;
| 240 TB&lt;br /&gt;
|- &lt;br /&gt;
| Interconnect &lt;br /&gt;
| IB QDR&lt;br /&gt;
| IB NB FDR&lt;br /&gt;
| IB QDR&lt;br /&gt;
| IB QDR&lt;br /&gt;
| IB NB FDR&lt;br /&gt;
| IB NB FDR&lt;br /&gt;
| Numalink 5&lt;br /&gt;
| Numalink 6&lt;br /&gt;
|- &lt;br /&gt;
| Scheduler &lt;br /&gt;
| [http://slurm.schedmd.com/ SLURM]&lt;br /&gt;
| [http://slurm.schedmd.com/ SLURM]  &lt;br /&gt;
| [http://slurm.schedmd.com/ SLURM]&lt;br /&gt;
| [http://slurm.schedmd.com/ SLURM]&lt;br /&gt;
| [http://slurm.schedmd.com/ SLURM] &lt;br /&gt;
| [http://slurm.schedmd.com/ SLURM]&lt;br /&gt;
| [http://slurm.schedmd.com/ SLURM] &lt;br /&gt;
| [http://slurm.schedmd.com/ SLURM] &lt;br /&gt;
|- &lt;br /&gt;
| MPI &lt;br /&gt;
| OpenMPI (ompi)&lt;br /&gt;
| IntelMPI (impi) &lt;br /&gt;
| OpenMPI (ompi) &lt;br /&gt;
| SGI MPT (mpt)&lt;br /&gt;
| OpenMPI (ompi)&lt;br /&gt;
&lt;br /&gt;
| OpenMPI (ompi)&lt;br /&gt;
| SGI MPT (mpt)&lt;br /&gt;
&lt;br /&gt;
| SGI MPT (mpt)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== További információ ==&lt;br /&gt;
=== Az új HPC-k dokumentációja ===&lt;br /&gt;
* [[Budapest2_klaszter|Budapest2]]&lt;br /&gt;
* [[Miskolc_UV_2000|Miskolc]]&lt;br /&gt;
* [[Debrecen2_GPU_klaszter|Debrecen2 GPU klaszter (LEO)]]&lt;br /&gt;
* [[Debrecen2_Phi_klaszter|Debrecen3 Phi klaszter (Apollo)]]&lt;br /&gt;
&lt;br /&gt;
=== Kapcsolódó oldalak===&lt;br /&gt;
* [[HPC-Portal|HPC portál: projekt és témaszámok kezelése, leállások, statisztikák]]&lt;br /&gt;
* [[NIIF_szuperszámítógépek_használata|A szuperszámítógépek használata]]&lt;br /&gt;
* [[HPC-GYIK|GY.I.K]]&lt;br /&gt;
* [http://www.niif.hu/hu/niif_intezet/az_niifi_szuperszamitogepek_hasznalata NIIF.HU HPC oldal]&lt;br /&gt;
* [[HPC_software|Telepített HPC Szoftverek ]]&lt;br /&gt;
* [https://wiki.niif.hu/index.php?title=HPC_felhasznaloi_alapelvek#Az_NIIF_Szupersz.C3.A1m.C3.ADt.C3.B3g.C3.A9p_Felhaszn.C3.A1l.C3.B3i_Szab.C3.A1lyzata Az NIIF Szuperszámítógép Felhasználói Szabályzata]&lt;br /&gt;
* [https://wiki.niif.hu/index.php?title=HPC_konyvtarak#El.C3.A9rhet.C5.91_f.C3.A1jlrendszerek_a_HPC_k.C3.B6zpontokban Elérhető fájlrendszerek a HPC központokban]&lt;br /&gt;
* [https://wiki.niif.hu/index.php?title=HPC_vizualizacio HPC vizualizációs infrastruktúra elérése]&lt;br /&gt;
&lt;br /&gt;
=== Saját HPC oktató tartalmaink ===&lt;br /&gt;
&lt;br /&gt;
* [http://videotorium.hu/hu/channels/details/1895 HPC oktató videók]&lt;br /&gt;
* [http://conference.niif.hu/event/3/session/23/contribution/25 HPC tutorial (NWS 2015) anyagai ]&lt;br /&gt;
* [http://videotorium.hu/hu/events/details/1864,GPU_programozas_workshop GPU programozás workshop (videotorium)]&lt;br /&gt;
* [[Intel_Xeon_Phi |Xeon Phi kártyák használata és alkamazások optimalizációja]]&lt;br /&gt;
&lt;br /&gt;
=== Angol nyelvű tréningek, videók, anyagok ===&lt;br /&gt;
* [http://www.training.prace-ri.eu PRACE training portal]&lt;br /&gt;
* [[PRACE_User_Support|PRACE User Support]]&lt;br /&gt;
* [http://colfaxresearch.com/how-16-04/ Xeon Phi Training]&lt;br /&gt;
[[Kategória: HPC]]&lt;br /&gt;
[[Kategória: Összefoglaló lapok]]&lt;/div&gt;</summary>
		<author><name>Dattila(AT)niif.hu</name></author>	</entry>

	</feed>