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 ».

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.

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 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/AuthenticationEt 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=mwhiteLe jeton pour l'utilisateur du système s'obtient de la même manière :GET /api/v1/Authentication?login=SystemCet 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 de base
GET /api/v1/UserStories/ HTTP/1.1
Authorization: Basic YWRtaW46YWRtaW4=
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_storiesLe 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 :
Puis ajoutez&access_token=token_value
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.