<?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=5dc96ab79d4a2%28AT%29vho.eduid.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=5dc96ab79d4a2%28AT%29vho.eduid.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/5dc96ab79d4a2(AT)vho.eduid.hu"/>
		<updated>2026-11-07T22:23:59Z</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=4908</id>
		<title>AAI/AzureADasAuthsource</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=AAI/AzureADasAuthsource&amp;diff=4908"/>
				<updated>2022-02-02T08:21:32Z</updated>
		
		<summary type="html">&lt;p&gt;5dc96ab79d4a2(AT)vho.eduid.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;
== 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>5dc96ab79d4a2(AT)vho.eduid.hu</name></author>	</entry>

	</feed>