sistemas:suap:programacao:webservices

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
sistemas:suap:programacao:webservices [2021/04/08 11:46]
Edwilson de Sousa Carvalho
sistemas:suap:programacao:webservices [2022/03/19 10:19] (atual)
Edwilson de Sousa Carvalho
Linha 1: Linha 1:
 +FIXME Esta documentação está incompleta.
 +
 ====== Solicitação de aplicação (usuário) ====== ====== Solicitação de aplicação (usuário) ======
  
Linha 24: Linha 26:
 <code> <code>
 curl  curl 
 +</code>
 +
 +===== Exemplo em Python/Django =====
 +
 +<code>
 +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'],
 +        }
 </code> </code>
  
  • sistemas/suap/programacao/webservices.1617893161.txt.gz
  • Última modificação: 2021/08/25 10:33
  • (edição externa)