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
Fluxo
- Logar com SUAP via OAuth2
- Consumir API (via OAuth2) obtendo recursos em nome do usuário
Exemplo genérico
curl
Exemplo em Python/Django
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'], }
Exemplo em JS
var CLIENT_ID = ''; var REDIRECT_URI = 'http://localhost:8888/'; var SUAP_URL = 'https://suap.ifce.edu.br';