sistemas:suap:programacao:webservices

FIXME Esta documentação está incompleta.

Solicitação de aplicação (usuário)

Usuário deverá acessar o menu Tecnologia da Informação :: API (OAuth2) :: Minhas Solicitações de Aplicação e preencher os dados da aplicação para solicitar acesso.

Após o deferimento do acesso o usuário verá sua aplicação em Tecnologia da Informação :: API (OAuth2) :: Minhas Aplicações, onde poderá verificar o token de acesso.

Liberação de acesso (DGTI)

Permissão necessária para realizar deferimento: Administrador de API

O usuário com perfil faz o deferimento através do menu Tecnologia da Informação :: API (OAuth2) :: Minhas Solicitações de Aplicação. Após realizar o deferimento a aplicação ainda fica com status inativa, sendo necessário editar os dados e marcar a opção ativa.

Instruções de uso

  1. Logar com SUAP via OAuth2
  2. Consumir API (via OAuth2) obtendo recursos em nome do usuário
curl 
class SuapOAuth2(BaseOAuth2):
    name = 'suap'
    AUTHORIZATION_URL = 'https://suap.ifce.edu.br/o/authorize/'
    ACCESS_TOKEN_METHOD = 'POST'
    ACCESS_TOKEN_URL = 'https://suap.ifce.edu.br/o/token/'
    ID_KEY = 'identificacao'
    RESPONSE_TYPE = 'code'
    REDIRECT_STATE = True
    STATE_PARAMETER = True
    USER_DATA_URL = 'https://suap.ifce.edu.br/api/eu/'
    

    def user_data(self, access_token, *args, **kwargs):
        return self.request(
            url=self.USER_DATA_URL,
            data={'scope': kwargs['response']['scope']},
            method='GET',
            headers={'Authorization': 'Bearer {0}'.format(access_token)}
        ).json()

    def get_user_details(self, response):
        """
        Retorna um dicionário mapeando os fields do settings.AUTH_USER_MODEL.
        você pode fazer aqui outras coisas, como salvar os dados do usuário
        (`response`) em algum outro model.
        """
        splitted_name = response['nome'].split()
        first_name, last_name = splitted_name[0], ''
        if len(splitted_name) > 1:
            last_name = splitted_name[-1]
        return {
            'username': response[self.ID_KEY],
            'first_name': first_name.strip(),
            'last_name': last_name.strip(),
            'email': response['email'],
        }
var CLIENT_ID = '';
var REDIRECT_URI = 'http://localhost:8888/';
var SUAP_URL = 'https://suap.ifce.edu.br';


  • sistemas/suap/programacao/webservices.txt
  • Última modificação: 2022/03/19 10:19
  • por Edwilson de Sousa Carvalho