Pré. | Proc. |
Informations d'identification de l'utilisateur pour accéder à l'API OSLC RESTful
Pour récupérer, mettre à jour, créer ou supprimer une ressource/fonctionnalité de ressource, vous devez transmettre un jeton d'authentification utilisateur avec la requête Fonctionnalité GET/POST. Si le modèle connecté via Pro Cloud Server a la sécurité utilisateur activée via les informations d'identification du Modèle ou l'authentification OpenID, vous devrez authentifier l'utilisateur pour recevoir un jeton d'authentification utilisateur. Alors que, pour un modèle qui n'a pas de sécurité utilisateur, vous pouvez directement demander un jeton d'authentification utilisateur. À moins que vous ne transmettiez le jeton d'authentification de l'utilisateur, la demande OSLC ne sera pas traitée par le Pro Cloud Server .
Pour obtenir le jeton d'authentification utilisateur :
- Dans un Modèle sur lequel l'authentification OpenID est activée, POSTez le code d'autorisation et redirigez l'URI vers une URL spécifique ; le code d'autorisation peut être obtenu en autorisant l'utilisateur au point de terminaison de l'URI d' autorisation (qui est spécifié dans la ressource du fournisseur de services ); l'URI de redirection est l'URI à laquelle le code d'autorisation est envoyé par le serveur OpenID (ceci est spécifié dans la configuration du serveur OpenID)
- Dans un modèle sur lequel Modèle Credential Security est activé, Modèle les informations d'identification Enterprise Architect Modèle Security de l'utilisateur ( ID utilisateur et mot de passe) vers une URL spécifique ; ce sont les mêmes informations d'identification que vous saisirez dans la boîte de dialogue "Connexion à EA Référentiel " dans un modèle sécurisé
- Dans un Modèle qui n'a pas de Modèle de sécurité, appelez une URL spécifique
- Une fois la validation réussie, le XML renvoyé contiendra le jeton d'authentification de l'utilisateur (entre autres informations) dans l'élément XML 'ss:useridentifier'
Demande de jeton d'authentification utilisateur
Marcher |
Action |
---|---|
1 |
Si le modèle a :
|
2 |
Validez l' ID utilisateur en postant le code d'autorisation et redirigez l'URI vers : URL : <protocole>://<serveur>/<nom_modèle>/oslc/am/login/ Corps POST : sso=openid;code=<AUTHORIZATION CODE>;redirecturi=<REDIRECT URI> ; Passez à l'étape 6. |
3 |
Obtenez le jeton d'authentification utilisateur en postant cette URL : URL : <protocole>://<serveur>/<nom_modèle>/oslc/am/login/ Corps POST : sso=ntlm ; Passez à l'étape 6. |
4 |
Validez l' ID utilisateur en postant les informations d'identification Enterprise Architect Modèle Security de son utilisateur à : URL : <protocole>://<serveur>/<nom_modèle>/oslc/am/login/ Corps POST : uid=<ID UTILISATEUR> ;pwd=<MOT DE PASSE> ; Passez à l'étape 6. |
5 |
Obtenez le jeton d'authentification utilisateur en postant cette URL : URL : <protocole>://<serveur>/<nom_modèle>/oslc/am/login/ POST Corps : uid=;pwd= ; |
6 |
Si la validation réussit, la réponse sera généralement : <?xml version="1.0" encoding="UTF-8" ?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ss="http://www.sparxsystems.com.au/oslc_am#" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <ss:connexion> <!-- valeur booléenne qui spécifie si le modèle autorise la création/mise à jour de ressources--> <ss:readonlymodel>VALEUR</ss:readonlymodel> <!-- valeur booléenne qui spécifie si vous avez une licence Pro Cloud Server valide--> <ss:validlicense>VALEUR</ss:validlicense> <!--spécifie le nom complet et l' ID utilisateur de l'utilisateur dans un modèle à sécurité activée--> <ss:userfullname> <foaf:Personne> <foaf:name>NOM COMPLET</foaf:name> <foaf:nick>ID UTILISATEUR</foaf:nick> </foaf:Personne> </ss:userfullname> <!--spécifie le jeton d'authentification utilisateur--> <ss:useridentifier>JETON D'AUTHENTIFICATION UTILISATEUR</ss:useridentifier> <!--spécifie le jeton d'accès OpenID dans un Modèle qui prend en supporte l'authentification OpenID--> <ss:accesstoken>JETON D'ACCÈS OPENID</ss:accesstoken> <!--spécifie le jeton d'actualisation OpenID dans un Modèle en supporte l'authentification OpenID--> <ss:refreshtoken>TOKEN D'ACTUALISATION OPENID</ss:refreshtoken> <!-- valeur booléenne qui spécifie si vous avez l'autorisation de créer/mettre à jour des ressources--> <ss:elementpermission>VALEUR</ss:elementpermission> <!-- valeur booléenne qui spécifie si vous êtes autorisé à mettre à jour les diagrammes--> <ss:diagrampermission>VALEUR</ss:diagrampermission> <!-- valeur booléenne qui spécifie si vous avez l'autorisation de créer/mettre à jour des tests de ressources--> <ss:testpermission>VALEUR</ss:testpermission> <!-- valeur booléenne qui spécifie si vous avez l'autorisation de créer/mettre à jour les allocations de ressources--> <ss:resourceallocationpermission>VALEUR</ss:resourceallocationpermission> <!-- valeur booléenne qui spécifie si vous avez l'autorisation de créer/mettre à jour les éléments de maintenance des ressources--> <ss:maintenanceitempermission>VALEUR</ss:maintenanceitempermission> <!-- valeur booléenne qui spécifie si vous avez la permission de créer/mettre à jour Resource Gestion de Projet Items--> <ss:projectmanagementitempermission>VALEUR</ss:projectmanagementitempermission> </ss:connexion> </rdf:RDF> |
En-tête d'autorisation
Lors de la connexion à une définition de port nécessitant une authentification, les demandes OSLC autres que la demande de connexion doivent fournir un en-tête d'autorisation. Si cet en-tête n'est pas fourni, vous recevrez un statut http de 401 Accès refusé.
Schème |
Description |
---|---|
OSLC |
Une fois que vous avez déjà effectué la connexion, le schéma d'autorisation le plus simple à utiliser est OSLC. Les paramètres d'autorisation ne sont que le guid renvoyé en tant que ss:useridentifier à partir du message de connexion. Lorsque le jeton d'authentification utilisateur est {72825AF9-E116-48f1-9DF8-77815E66B1A7}, l'en-tête ressemblera à ceci : Autorisation : OSLC {72825AF9-E116-48f1-9DF8-77815E66B1A7} |
Basique |
Si "Restreindre l'accès aux utilisateurs Windows et OpenID uniquement" n'est pas sélectionné dans votre modèle, vous pouvez utiliser le schéma d'autorisation de base. Les paramètres d'autorisation sont le nom d'utilisateur et le mot de passe encodés en base64 séparés par deux points. Lorsque le nom d'utilisateur est aladdin et le mot de passe est opensesame, vous passeriez un en-tête comme celui-ci : Autorisation : de base YWxhZGRpbjpvcGVuc2VzYW1l |
NTLM |
Si Accepter l'authentification Windows est activé pour votre modèle, le schéma d'authentification NTLM peut être utilisé. Votre bibliothèque http doit couvrir les détails, mais le serveur et le client doivent échanger des jetons et les appels OSLC devront passer le deuxième jeton client encodé avec base64. |
OpenID |
Si OpenID a été configuré pour votre modèle, vous pouvez utiliser le schéma d'authentification OpenID. Suivez les instructions pour obtenir un code d'autorisation d'OpenID, puis incluez-le comme paramètre d'autorisation. |
Transmission du jeton d'authentification utilisateur avec les requêtes OSLC
Une fois que vous avez reçu le jeton d'authentification utilisateur, vous le transmettez avec chaque demande OSLC ; c'est-à-dire, transmettez le jeton d'authentification utilisateur :
- Lors de la récupération d'une ressource ou d'une ressource Fonctionnalité XML en utilisant GET Request comme valeur du paramètre de string de requête 'useridentifier'
- Lors de la création/mise à jour d'une ressource ou d'une fonctionnalité de ressource en utilisant POST RDF/XML comme valeur de l'élément XML 's: Fonctionnalité '
Transmission du jeton d'authentification utilisateur avec les requêtes GET
Pour les requêtes GET, transmettez le jeton d'authentification utilisateur comme valeur du paramètre string de requête 'useridentifier' :
- <protocol>://<server>/<model_name>/oslc/am/OSLC REQUEST/?useridentifier=<User Authentication Token>
Non. |
Exemple d'entrée |
---|---|
1 |
Récupérez les propriétés d'une ressource de Paquetage d' Enterprise Architect :
|
2 |
Récupérez toutes les ressources :
|
Transmission d'un jeton d'authentification utilisateur avec les demandes POST OSLC
Pour les requêtes OSLC POST, vous devez transmettre le jeton d'authentification utilisateur dans le cadre du RDF/XML accompagnant la requête POST.
Non. |
Saisir |
---|---|
1 |
Dans un modèle de sécurité activé où :
<?xml version="1.0" encoding="UTF-8" ?> <rdf:RDF xmlns:oslc_am="http://open-services.net/ns/am#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dcterms= " http://purl.org/dc/terms/ " xmlns:foaf="http://xmlns.com/foaf/0.1/ " xmlns:ss="http://www.sparxsystems.com.au/oslc_am#"> <oslc_am:ressource> <!--Propriétés requises--> <dcterms:title>Classe1</dcterms:title> <dcterms:type>Classe</dcterms:type> <ss:parentresourceidentifier>pk_{259A54C2-6A89-46d7-AB7E-F192668010CA}</ss:parentresourceidentifier> <dcterms:description>Créé via OSLC</dcterms:description> <ss:complexity>Facile</ss:complexity> <ss:version>1.0</ss:version> <ss:useridentifier>{72825AF9-E116-48f1-9DF8-77815E66B1A7}</ss:useridentifier> </oslc_am:Resource> </rdf:RDF> |
2 |
Dans un modèle où :
<rdf:RDF xmlns:oslc_am="http://open-services.net/ns/am#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dcterms="http://purl.org/dc/terms/ " xmlns:foaf="http://xmlns.com/foaf/0.1/ " xmlns:ss="http://www.sparxsystems.com.au/oslc_am#"> <oslc_am:ressource> <!--Propriétés requises--> <dcterms:identifier>el_{567854C2-6A89-46d7-AB7E-F192668010CA}</dcterms:identifier> <dcterms:title>Actor1_New</dcterms:identifier> <ss:useridentifier>{72825AF9-E116-48f1-9DF8-77815E66B1A7}</ss:useridentifier> </oslc_am:Resource> </rdf:RDF> |
Se déconnecter de Modèle
Habituellement, 30 minutes d'inactivité vous log d'un modèle ; vous devrez vous reconnecter en POSTant à l'URL de validation des informations d'identification. Vous pouvez également vous déconnecter d'un modèle en transmettant le jeton d'authentification utilisateur comme valeur du paramètre de string de requête 'useridentifier' dans cette requête GET :
- <protocol>://<server>/<model_name>/oslc/am/logout/?useridentifier=<User Authentication Token>
En cas d'échec (c'est-à-dire que le jeton d'authentification utilisateur transmis n'est pas valide), vous recevrez une réponse HTTP 404 Not Found.
Notes
- Cette facilité est disponible via le Pro Cloud Server , avec une licence valide
- Une demande OSLC ne sera pas traitée par le Pro Cloud Server à moins que le jeton d'authentification de l'utilisateur ne soit transmis avec la demande
- 30 minutes d'inactivité vous log d'un modèle ; vous devrez vous reconnecter en POSTant à l'URL de validation des informations d'identification