Autenticación

Para acceder a los servicios REST, debe estar autenticado como usuario activo de Targetprocess o como usuario del sistema. No se permite el acceso anónimo. Las cuentas de solicitantes no tienen acceso a la API.

El cliente REST API de Targetprocess puede utilizar los modos de autenticación por cookie, básica o por token.

HTTP Se devuelve el código de estado 401 (401: No autorizado) si falla la autenticación.

Autenticación por token

El modo de autenticación por token utiliza un token de seguridad personalizado proporcionado con URL. Al utilizar el token, su aplicación cliente REST obtendrá los mismos proyectos y equipos de pertenencia y permisos de seguridad que el usuario propietario del token.

Actualmente, Targetprocess admite y ofrece dos tipos diferentes de tokens:

Recurso Fichas de servicio Señales de acceso
Nombre de parámetro &token=xxxxxxxxxxxxxx &access_token=xxxxxxxxxxxxxxTask
Fuente donde obtenerlo Punto final de la API de consulta: GET /api/v1/Authentication Interfaz de usuario de Targetprocess: Configuración -> Autenticación y seguridad -> Tokens de acceso personal
Los usuarios pueden obtenerlo por sí mismos
El administrador puede obtenerlo para otros usuarios SÍ, CONSIGUIR /api/v1/Authentication?login=mwhite NEE
El usuario del sistema puede tenerlo SÍ, CONSIGUIR /api/v1/Authentication?login=System NEE
Independiente de la contraseña NO Caduca cuando se cambia la contraseña del usuario asociado
Se admiten múltiples tokens específicos para cada aplicación por usuario NEE
Se realiza un seguimiento y se muestran la fecha de emisión y la fecha de último uso NEE
Se puede desactivar SÍ<br> Desactivar el inicio de sesión del usuario asociado

Tokens de acceso personal configurados en la interfaz de usuario

Acceso a tokens de acceso personal

Para obtener y utilizar tokens de acceso personal, la función predeterminada del usuario debe tener habilitado el permiso Permitir crear y utilizar tokens de acceso.

De forma predeterminada, todas las funciones permiten el uso de tokens de acceso personal. Solo se evalúa el rol predeterminado de un usuario al determinar el acceso.

Si un usuario no tiene este permiso, no podrá:

  • Acceda a la pestaña «Tokens de acceso personal»
  • Crear nuevos tokens
  • Autenticar utilizando tokens existentes (por ejemplo, tokens emitidos antes de revocar el permiso)

Acceso a tokens de acceso personal

  • Usuarios sin privilegios administrativos: los usuarios sin privilegios administrativos solo pueden ver sus propios tokens en esta pestaña.
  • Administradores: Los usuarios con derechos administrativos tienen acceso a todos los tokens de acceso personal del sistema, incluidos los que pertenecen a otros usuarios.

Para obtener más información, consulte la sección «Administración y control de tokens de acceso personal».

token de acceso personal

Obtener un token

Los usuarios pueden añadir los tokens en la pestaña «Tokens de acceso personal» en Configuración -> Autenticación y seguridad. Los administradores no pueden añadir tokens para otros usuarios.

señales

Puedes usarlos todo el tiempo que quieras. Cuando el token ya no sea necesario, se podrá eliminar.

Por motivos de seguridad, se muestra un nuevo token que solo se puede copiar después de su creación. Puedes eliminar los tokens antiguos en caso de que no los recuerdes. Y puedes generar nuevos tokens siempre que lo necesites.

Puedes realizar un seguimiento del uso de tokens directamente desde la misma pestaña.

Usar token

El token recibido se puede utilizar con cualquier servicio REST añadiendo el parámetro de solicitud {token} access_token= a la URI.

GET /api/v1/UserStories/?access_token=YWRtaW46QUFBMEEwQTAwMEFBQTBBMDBBMEEwQTBBMEEwMEFBMDA=
Administración y control de tokens de acceso personal Los usuarios con derechos de administrador y permiso para crear y utilizar tokens de acceso pueden acceder a la página de administración de tokens de acceso personal. Desde allí, pueden ver los detalles de todos los tokens emitidos, incluyendo:
  • Usuario
  • Nombre de token
  • Fecha de emisión
  • Última fecha de uso

*

Los administradores pueden eliminar cualquier token de usuario si es necesario para revocar el acceso o impedir el uso no autorizado de los datos.

señales

Tokens generados por el servicio <b>/Authentication</b>

Obtener un token Para obtener un token, debe iniciar sesión en Targetprocess. Para obtener un token de seguridad, debe consultar el servicio REST de autenticación a través de la siguiente URI:
GET /api/v1/Authentication
Y recibirás el token para ti:
<Authentication Token="YWRtaW46OTRDRDg2Qzg1NjgzQUZDMzg3Qjg2QTVERTAxRTZEQzY="/>
El token es válido siempre y cuando el usuario no cambie su nombre de usuario o contraseña. Si un usuario cambia su nombre de usuario y/o contraseña, se le genera automáticamente un nuevo token. El token de un usuario activo también está siempre activo. El servicio de autenticación admite los formatos XML y JSON. Usar token El token recibido se puede utilizar con cualquier servicio REST añadiendo el parámetro de {token} solicitud token= a la URI.
GET /api/v1/UserStories/?token=YWRtaW46QUFBMEEwQTAwMEFBQTBBMDBBMEEwQTBBMEEwMEFBMDA=
Obtener token para otros usuarios y el sistema Los administradores de usuarios de Targetprocess también pueden obtener un token para otros usuarios. Pase su nombre de usuario en el parámetro:
GET /api/v1/Authentication?login=mwhite
El token para el usuario del sistema se obtiene de la misma manera:
GET /api/v1/Authentication?login=System
Este usuario tiene los mismos permisos en la cuenta que cualquier usuario administrador. Con este token se pueden realizar modificaciones en los datos.

Autenticación mediante cookies

Si ha iniciado sesión en una cuenta de usuario de Targetprocess, su navegador web recordará su nombre de usuario en las cookies. Cuando intentas acceder al /api/v1/UserStories/ recurso utilizando la barra de direcciones de tu navegador, se envía una solicitud GET a la API REST y se utiliza tu cookie para la autenticación. Lo mismo ocurre de forma predeterminada si utilizas servicios API REST desde código Mashups. La cookie del usuario que ha iniciado sesión en Targetprocess se utiliza para la autenticación. Es posible utilizar cookies del navegador web cuando se envían solicitudes REST API con un complemento del navegador web. Por ejemplo, en el navegador web Chrome hay un complemento llamado Advanced REST Client. Para obtener una cookie, active el modo «Usar XHR» en la configuración del cliente REST. Además, se debe instalar el complemento ARC cookie exchange. Autenticación mediante cookies

Autenticación básica

Advertencia: No se recomienda la autenticación básica para instancias que utilizan Single Sign On y/o Frontdoor como método de inicio de sesión de usuario. En su lugar, utilice token o access_token para la autenticación.
Para utilizar la autenticación básica, es necesario enviar un encabezado Authorization: Basic con cada solicitud. Por ejemplo, si desea autenticarse como admin:admin (login:contraseña), debe enviar la siguiente solicitud:
GET /api/v1/UserStories/ HTTP/1.1
Authorization: Basic YWRtaW46YWRtaW4=
Advertencia:YWRtaW46YWRtaW4= la clave es un valor Base64 codificado de inicio de sesión y contraseña para admin:admin, que son las credenciales predeterminadas para cualquier nuevo propietario de una cuenta de Targetprocess. Puede generar dicha clave en línea. Cuando codifique un par de nombre de usuario:contraseña, asegúrese de que no haya espacios adicionales ni símbolos de retorno de carro/salto de línea al principio o al final de la línea copiada y pegada. NO utilice la autenticación básica si el canal de comunicación no está protegido mediante HTTPS, ya que las credenciales transmitidas se codifican con Base64, sin cifrar ni hash.
Con cURL esta herramienta no es necesario codificar el nombre de usuario y la contraseña para la autenticación básica, ya que cURL lo hace automáticamente.
curl --user login:password /api/v1/userstories/
También puede utilizar una función especial en su lenguaje de programación. Por ejemplo, en .NET / C# se verá así:
var webClient = new WebClient();
webClient.Credentials = new NetworkCredential("admin", "admin");
Para consumir el servicio REST desde Ruby, puede utilizar la gema 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
El modo de autenticación básica es compatible con el usuario del sistema cuando el formulario de inicio de sesión está habilitado. Cuando el formulario de inicio de sesión está desactivado en la configuración de inicio de sesión único, este tipo de autenticación queda bloqueado. Utilice en su lugar la autenticación basada en tokens.

Recuperar los datos del usuario registrado mediante la API

Después de una autenticación exitosa, puedes obtener detalles sobre el ID y el rol del usuario que ha iniciado sesión. Consulte LoggedUser el recurso mediante la siguiente ruta:
/api/v1/users/LoggedUser/
Te proporcionará detalles sobre el usuario registrado.
<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>

Resolución de problemas

Usar token en la integración con Excel

P: Tengo una consulta web en un archivo Excel que extrae datos de Targetprocess. ¿Cómo puedo guardar mi contraseña en la cadena de consulta para no tener que iniciar sesión tres veces cuando abro el archivo para actualizar mis datos? R: Cree un valor de token de acceso utilizando la pestaña «Tokens de acceso personales»: Crear token de acceso A continuación, añada

&access_token=token_value

a tus solicitudes de API de Excel. Encuentre más detalles sobre la integración entre Excel y Targetprocess.

Error de usuario del sistema no autorizado

P: He obtenido un token para mi usuario del sistema. Pero cuando intento utilizarlo, recibo una respuesta 401 No autorizado. ¿Cómo proceder? R: Para establecer cualquier integración en la que se utilicen las credenciales de usuario del sistema, debe configurar su contraseña. Parece que aún no ha establecido una contraseña para su usuario del sistema. Configúrelo en Targetprocess en Configuración > Autenticación y seguridad > Panel de usuarios del sistema y guarde los cambios. Credenciales_de_usuario_del_sistema