Authentification

Pour accéder aux services REST, vous devez être authentifié en tant qu'utilisateur actif de Targetprocess ou en tant qu 'utilisateur système. Aucun accès anonyme n'est autorisé. Les comptes demandeurs n'ont pas accès à l'API.

Le client API REST Targetprocess peut utiliser les modes d'authentification par cookie, basique ou jeton.

HTTP Le code d'état 401 (401 : Non autorisé) est renvoyé si l'authentification échoue.

Authentification par jeton

Le mode d'authentification par jeton utilise un jeton de sécurité personnalisé fourni avec URL. Grâce au jeton, votre application cliente REST obtiendra les mêmes autorisations en matière de projets, d'appartenance à des équipes et de sécurité que celles dont dispose l'utilisateur propriétaire du jeton.

Deux types de jetons différents sont désormais disponibles et pris en charge dans Targetprocess :

Ressource Jetons de service Jetons d'accès
Nom du paramètre : &token=xxxxxxxxxxxxxx &access_token=xxxxxxxxxxxxxxTask
Source d'où l'obtenir Point de terminaison de l'API de requête : GET /api/v1/Authentication Interface utilisateur Targetprocess : Paramètres -> Authentification et sécurité -> Jetons d'accès personnels
Peut être obtenu par les utilisateurs eux-mêmes OUI OUI
L'administrateur peut l'obtenir pour un autre utilisateur OUI, OBTENIR /api/v1/Authentication?login=mwhite Non
L'utilisateur du système peut l'avoir OUI, OBTENIR /api/v1/Authentication?login=System Non
Indépendant du mot de passe NON Expire lorsque le mot de passe de l'utilisateur associé est modifié OUI
Plusieurs jetons spécifiques à une application par utilisateur sont pris en charge Non OUI
La date d'émission et la date de dernière utilisation sont suivies et affichées Non OUI
Peut être désactivé OUI<br> Désactiver la connexion utilisateur associée OUI

Jetons d'accès personnels définis dans l'interface utilisateur

Accès aux jetons d'accès personnels

Pour obtenir et utiliser des jetons d'accès personnels, le rôle par défaut d'un utilisateur doit disposer de l 'autorisation Créer et utiliser des jetons d'accès.

Par défaut, tous les rôles autorisent l'utilisation de jetons d'accès personnels. Seul le rôle par défaut d'un utilisateur est évalué lors de la détermination de l'accès.

Si un utilisateur ne dispose pas de cette autorisation, il ne pourra pas :

  • Accédez à l'onglet Jetons d'accès personnels
  • Créer de nouveaux jetons
  • Authentification à l'aide de jetons existants (par exemple, jetons émis avant la révocation de l'autorisation)

Accès aux jetons d'accès personnels

  • Non-administrateurs : les utilisateurs ne disposant pas de privilèges administratifs peuvent uniquement consulter leurs propres jetons dans cet onglet.
  • Administrateurs : les utilisateurs disposant de droits d'administration ont accès à tous les jetons d'accès personnels du système, y compris ceux appartenant à d'autres utilisateurs.

Pour plus d'informations, consultez la section « Administration et contrôle des jetons d'accès personnels ».

jeton d'accès personnel

Obtenir un jeton

Les utilisateurs peuvent ajouter les jetons sous l'onglet Jetons d'accès personnels dans Paramètres -> Authentification et sécurité. Les administrateurs ne peuvent pas ajouter de jetons pour d'autres utilisateurs.

jetons

Vous pouvez les utiliser aussi longtemps que vous le souhaitez. Lorsque le jeton n'est plus nécessaire, il peut être supprimé.

Pour des raisons de sécurité, un nouveau jeton s'affiche et ne peut être copié qu'après sa création. Vous pouvez supprimer les anciens jetons si vous ne vous en souvenez plus. Et vous pouvez générer de nouveaux jetons chaque fois que vous en avez besoin.

Vous pouvez suivre l'utilisation des jetons directement à partir du même onglet.

Utiliser le jeton

Le jeton reçu peut être utilisé avec n'importe quel service REST en ajoutant le paramètre de requête {token} access_token= à l'URI.

GET /api/v1/UserStories/?access_token=YWRtaW46QUFBMEEwQTAwMEFBQTBBMDBBMEEwQTBBMEEwMEFBMDA=
Administration et contrôle des jetons d'accès personnels Les utilisateurs disposant à la fois des droits d'administrateur et de l'autorisation de créer et d'utiliser des jetons d'accès peuvent accéder à la page d'administration des jetons d'accès personnels. À partir de là, ils peuvent consulter les détails de tous les jetons émis, notamment :
  • Utilisateur
  • Nom de jeton
  • Date d'émission
  • Date de dernière utilisation

*

Les administrateurs peuvent supprimer tout jeton utilisateur si nécessaire afin de révoquer l'accès ou d'empêcher l'utilisation non autorisée des données.

jetons

Jetons générés par le service <b>/Authentication</b>

Obtenir un jeton Pour obtenir un jeton, vous devez être connecté à Targetprocess. Pour obtenir un jeton de sécurité, vous devez interroger le service REST d'authentification via l'URI ci-dessous :
GET /api/v1/Authentication
Et vous recevrez le jeton pour vous-même :
<Authentication Token="YWRtaW46OTRDRDg2Qzg1NjgzQUZDMzg3Qjg2QTVERTAxRTZEQzY="/>
Le jeton est valide tant que l'utilisateur ne modifie pas son identifiant ou son mot de passe. Si un utilisateur modifie son identifiant et/ou son mot de passe, un nouveau jeton lui est automatiquement attribué. Le jeton d'un utilisateur actif est toujours actif lui aussi. Le service d'authentification prend en charge les formats XML et JSON. Utilisation du jeton Le jeton reçu peut être utilisé avec n'importe quel service REST en ajoutant le paramètre de requête {token} token= à l'URI.
GET /api/v1/UserStories/?token=YWRtaW46QUFBMEEwQTAwMEFBQTBBMDBBMEEwQTBBMEEwMEFBMDA=
Obtenir un jeton pour d'autres utilisateurs et le système Les administrateurs utilisateurs de Targetprocess peuvent également obtenir un jeton pour d'autres utilisateurs. Transmettez leur nom d'utilisateur dans le paramètre :
GET /api/v1/Authentication?login=mwhite
Le jeton pour l'utilisateur du système s'obtient de la même manière :
GET /api/v1/Authentication?login=System
Cet utilisateur dispose des mêmes autorisations dans le compte que n'importe quel utilisateur administrateur. Ce jeton permet d'effectuer toutes les modifications de données.

Authentification par cookie

Si vous êtes connecté à un compte utilisateur Targetprocess, votre navigateur web mémorise votre identifiant utilisateur dans les cookies. Lorsque vous essayez d'accéder à la /api/v1/UserStories/ ressource à l'aide de la barre d'adresse de votre navigateur, une requête GET est envoyée à l'API REST et votre cookie est utilisé pour l'authentification. La même chose se produit par défaut si vous utilisez les services API REST à partir du code Mashups. Le cookie de l'utilisateur connecté à Targetprocess est utilisé pour l'authentification. Il est possible d'utiliser les cookies du navigateur Web lorsque vous envoyez des requêtes API REST à l'aide d'un plugin de navigateur Web. Par exemple, dans le navigateur web Chrome, il existe un plugin appelé Advanced REST Client. Pour obtenir un cookie, activez le mode « Utiliser XHR » dans les paramètres du client REST. De plus, le plugin ARC cookie exchange doit être installé. Authentification par cookie

Authentification de base

Avertissement : l'authentification de base n'est pas recommandée pour les instances qui utilisent Single Sign On et/ou Frontdoor comme méthode de connexion utilisateur. Utilisez plutôt token ou access_token pour l'authentification.
Pour utiliser l'authentification de base, vous devez envoyer un en-tête Authorization: Basic avec chaque requête. Par exemple, si vous souhaitez être authentifié en tant qu'admin:admin (login:password), vous devez envoyer la requête suivante :
GET /api/v1/UserStories/ HTTP/1.1
Authorization: Basic YWRtaW46YWRtaW4=
Avertissement :YWRtaW46YWRtaW4= key est un Base64 codage des valeurs de connexion et de mot de passe pour admin:admin, qui sont les identifiants par défaut pour tout nouveau propriétaire de compte Targetprocess. Vous pouvez générer une telle clé en ligne. Lorsque vous encodez une paire identifiant:mot de passe, veillez à ne pas laisser d'espaces supplémentaires ni de symboles de retour chariot/saut de ligne au début ou à la fin de la ligne copiée-collée. N'utilisez PAS l'authentification de base si le canal de communication n'est pas sécurisé via HTTPS, car les informations d'identification transmises sont encodées avec Base64, et non cryptées ou hachées.
Grâce à cURL cet outil, vous n'avez pas besoin d'encoder le nom d'utilisateur et le mot de passe pour l'authentification de base, cURL il le fait automatiquement pour vous.
curl --user login:password /api/v1/userstories/
Vous pouvez également utiliser une fonction spéciale dans votre langage de programmation. Par exemple, dans .NET / C#, cela ressemblera à ceci :
var webClient = new WebClient();
webClient.Credentials = new NetworkCredential("admin", "admin");
Pour utiliser le service REST depuis Ruby, vous pouvez utiliser le gem HTTParty.
class UserStoryResource
  include HTTParty
  base_uri 'testaccount.tpondemand.com'
  format :xml
  def initialize(u, p)
    @auth = {:username => u, :password => p}
  end
  def all_stories(options={})
    options.merge!({:basic_auth => @auth})
    self.class.get("/api/v1/UserStories/", options)
  end
end
...
storyResource = UserStoryResource.new('admin', 'admin')
stories = storyResource.all_stories
Le mode d'authentification de base est pris en charge pour l'utilisateur système lorsque le formulaire de connexion est activé. Lorsque le formulaire de connexion est désactivé dans les paramètres d'authentification unique, ce type d'authentification est bloqué. Utilisez plutôt l'authentification par jeton.

Récupérer les informations de connexion de l'utilisateur à l'aide de l'API

Une fois l'authentification réussie, vous pouvez obtenir des informations détaillées sur l'ID et le rôle de l'utilisateur connecté. Requête LoggedUser ressource via le chemin suivant :
/api/v1/users/LoggedUser/
Il vous donnera des détails sur l'utilisateur connecté.
<User ResourceType="User" Id="334">
  <Kind>User</Kind>
  <FirstName>Teddy</FirstName>
  <LastName>Bear</LastName>
  <Email>xxx@xxx.com</Email>
  <Login>xxx</Login>
  <CreateDate>2006-10-02T16:19:42</CreateDate>
  <ModifyDate>2016-11-17T00:01:16</ModifyDate>
  <DeleteDate nil="true"/>
  <IsActive>true</IsActive>
  <IsAdministrator>true</IsAdministrator>
  <LastLoginDate>2016-11-17T00:00:00</LastLoginDate>
  <WeeklyAvailableHours>20.0000</WeeklyAvailableHours>
  <CurrentAllocation>100</CurrentAllocation>
  <CurrentAvailableHours>0.0000</CurrentAvailableHours>
  <AvailableFrom nil="true"/>
  <AvailableFutureAllocation>0</AvailableFutureAllocation>
  <AvailableFutureHours>0.0000</AvailableFutureHours>
  <IsObserver>false</IsObserver>
  <IsContributor nil="true"/>
  <Locale>en</Locale>
  <Skills>ui</Skills>
  <ActiveDirectoryName>TP\falcon</ActiveDirectoryName>
  <Role ResourceType="Role" Id="8" Name="Head"/>
  <CustomFields>
    <Field Type="Text">
      <Name>Skill Set</Name>
      <Value nil="true"/>
    </Field>
  </CustomFields>
</User>

Traitement des incidents

Utiliser le jeton dans l'intégration Excel

Q : J'ai une requête Web dans un fichier Excel qui extrait des données de Targetprocess. Comment puis-je enregistrer mon mot de passe dans la chaîne de requête afin de ne pas avoir à me connecter trois fois lorsque j'ouvre le fichier pour mettre à jour mes données? R : Veuillez créer une valeur d'jeton d'accès à l'aide de l'onglet Jetons d'accès personnels : Créer un jeton d'accès Puis ajoutez

&access_token=token_value

à vos requêtes API Excel. Pour plus d'informations, consultez la section Intégration entre Excel et Targetprocess.

Erreur non autorisée pour l'utilisateur système

Q : J'ai obtenu un jeton pour mon utilisateur système. Mais lorsque j'essaie de l'utiliser, je reçois une réponse 401 Non autorisé. Comment procéder? R : Afin d'établir toute intégration utilisant les identifiants de l'utilisateur du système, vous devez définir son mot de passe. Il semble que vous n'ayez pas encore défini de mot de passe pour votre utilisateur système. Veuillez le configurer dans Targetprocess dans Paramètres > Authentification et sécurité > Panneau utilisateur système et enregistrer vos modifications. Identifiants_utilisateur_système