Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
cs:tech:attributes:pairwiseid [2020/02/12 11:50] – [Poznámka] 9ec128d6c1ed31e124c9d0343d1175613f20f405@einfra.cesnet.czcs:tech:attributes:pairwiseid [2022/03/02 09:39] (aktuální) – [Definice] Jan Oppolzer
Řádek 1: Řádek 1:
-<WRAP important> 
-**Toto je pouze návrh na zavedení atributu //pairwise-id// ze dne 11. 2. 2020. Atribut zatím není povinný a o jeho zavedení budu informovat prostřednictvím poštovních konferencí [[eduid@eduid.cz]] a [[cifer@cesnet.cz]].** 
-</WRAP> 
- 
 ====== pairwise-id ====== ====== pairwise-id ======
  
 ===== Definice ===== ===== Definice =====
  
-Pseudoidentifikátor, který obsahuje "scope" organizace (scoped), není očividně svázán se konkrétním uživatelem (opaque), je nepřenositelný na jiného uživatele (not reassignable) a cílený na jednu službu (targeted).+Pseudoidentifikátor, který obsahuje "scope" organizace (scoped), není očividně svázán konkrétním uživatelem (opaque), je nepřenositelný na jiného uživatele (not reassignable) a je cílený na jednu službu (targeted).
  
 Popis vlastností naleznete na [[https://wiki.shibboleth.net/confluence/display/CONCEPT/NameIdentifiers|wiki Shibbolethu]]. Popis vlastností naleznete na [[https://wiki.shibboleth.net/confluence/display/CONCEPT/NameIdentifiers|wiki Shibbolethu]].
Řádek 25: Řádek 21:
 Určený jako náhrada za zastaralé identifikátory jako [[edupersontargetedid]] a SAML 2.0 persistentní NameID z důvodu jejich problémů s velikostí písmen a také implementační komplexitou. Určený jako náhrada za zastaralé identifikátory jako [[edupersontargetedid]] a SAML 2.0 persistentní NameID z důvodu jejich problémů s velikostí písmen a také implementační komplexitou.
  
-Hodnotu doporučuji získat jako pro současný atribut [[edupersontargetedid]] / SAML 2.0 persistentní NameID. Pokud jste hodnoty ukládali do databáze (měli jste to tak dělat, protože nyní nebudete mít problémy), můžete snadno migrovat na BASE32 enkódování i jiný algoritmus. Nejprve se databázi zjistí, jestli identifikátor existuje. Pokud ano, použije se. Pokud nevygeneruje se nový, uloží se do databáze a pak se použije.+Hodnoty atributů //algorithm// a //encoding// elementu ''<DataConnector>'' se berou z //conf/saml-nameid.properties//hodnota //salt// se bere z //credentials/secrets.properties//.
  
-Hodnoty //salt//, //algorithm////encoding// "zdrojový atribut" v elementu ''<DataConnector>'' se berou z //conf/saml-nameid.properties//.+S výhodou zde využíváme atributu [[unstructuredname]] jako vstupní hodnotu pro výpočet atributu **pairwise-id**. 
 + 
 +<WRAP info> 
 +Bylo by možné (podobně jako v případě eduPersonTargetedID/persistentního NameID) ukládat vypočítané hodnoty do databáze. S databází vypočítaných identifikátorů je pak možné dělat užitečné ale i nevhodné věcijako např. recyklovat atributkterý se recyklovat nesmí. 
 + 
 +Doporučujeme tedy identifikátory spíše počítat při každém přihlášení uživatele být tak nucen neměnitelné atributy opravdu nikdy neměnit. 
 +</WRAP>
  
 <code xml> <code xml>
 <AttributeDefinition xsi:type="Scoped" id="samlPairwiseID" scope="%{idp.scope}"> <AttributeDefinition xsi:type="Scoped" id="samlPairwiseID" scope="%{idp.scope}">
-    <InputDataConnector ref="myStoredId" attributeNames="storedId"/>+    <InputDataConnector ref="computed" attributeNames="computedId"/>
 </AttributeDefinition> </AttributeDefinition>
  
-<DataConnector id="myStoredId+<DataConnector id="computed
-    xsi:type="StoredId+    xsi:type="ComputedId" 
-    generatedAttributeID="storedId"+    excludeResolutionPhases="c14n/attribute
 +    generatedAttributeID="computedId"
     salt="%{idp.persistentId.salt}"     salt="%{idp.persistentId.salt}"
     algorithm="%{idp.persistentId.algorithm:SHA}"     algorithm="%{idp.persistentId.algorithm:SHA}"
-    encoding="%{idp.persistentId.encoding:BASE32}+    encoding="%{idp.persistentId.encoding:BASE32}"> 
-    queryTimeout="0"> +        <InputAttributeDefinition ref="unstructuredName"/>
-    <InputAttributeDefinition ref="%{idp.persistentId.sourceAttribute}"/+
-    <BeanManagedConnection>shibboleth.MySQLDataSource</BeanManagedConnection>+
 </DataConnector> </DataConnector>
 </code> </code>