# Quais os pré-requisitos técnicos de adesão?

{% hint style="info" %}
O acesso à *Application Programming Interface* (API) do CUSP é realizado via *web* *services*.
{% endhint %}

## Autenticação

O acesso aos *web services* está protegido através de utilização do perfil da especificação “*Web Services Security UsernameToken Profile 1.1.1*”.&#x20;

A invocação dos serviços da API deverá incluir no *Simple Object Access Protocol* (SOAP) um *header* do tipo *WSS UsernameToken*, com o *username* (email do utilizador portal) e a palavra-passe, em que o campo da palavra-passe é do tipo “*PasswordText*”. A API irá cruzar a *username* e a palavra-passe fornecida com os utilizadores existentes no portal. A invocação do serviço é realizada se:&#x20;

* Utilizador existir como utilizador do portal;
* Palavra-passe no *usernameToken* for correta para o utilizador em causa.

A aplicação do *UsernameToken* adiciona também outro conjunto de mecanismos de segurança que podem impedir a invocação dos serviços, tais como:&#x20;

* Expiração do *UsernameToken;*
* Reutilização de *UsernameToken;*
* Não utilização do elemento *nonce*.

Exemplo de um pedido com com *UsernameToken*:

![](https://2869735785-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0oDmFsd3xf4yMMXZ1ctr%2Fuploads%2FIxnLAOvKy4pakULSDfS7%2FCES%201.png?alt=media\&token=07096419-28bf-4a75-ae42-b38906a976f3)

{% hint style="info" %}
Consultar a especificação do [“*Web Services Security UsernameToken Profile 1.1.1*”](http://docs.oasis-open.org/wss-m/wss/v1.1.1/os/wss-UsernameTokenProfile-v1.1.1-os.html)
{% endhint %}

## Autorização

Adicionalmente à autenticação do pedido através do perfil *UsernameToken* a invocação aos serviços da API possui também uma componente de autorização pelo que o utilizador autenticado necessita também de possuir um conjunto de perfis associados que permitam a invocação do serviço.&#x20;

Para que o utilizador consiga realizar com sucesso invocações à API WS necessita de pelo menos um dos seguintes papéis associados ao seu utilizador:&#x20;

·         *Administrator*&#x20;

·         Acesso API WS&#x20;
