Как можно предоставить авторизацию (Oauth 2.0) для пользователя в JIRA SOFTWARE TOOL? - PullRequest
0 голосов
/ 03 февраля 2020

Ниже приведены шаги, которые я выполнил: 1. Сделать проект через Jira. 2. Выполнил все шаги и получил URL авторизации. 3. теперь можно получить доступ к access_token и refresh_token.

Проблема: в oauth 2.0 от одного идентификатора клиента администратора и секрета клиента мы можем авторизовать несколько учетных записей, зарегистрированных в программном обеспечении JIRA. Но я не могу этого сделать. Я не могу авторизовать пользователей как то, что я сделал при интеграции моего проекта с такими службами Google, как задача, лист, контакты и т. Д. c.

Я буду предоставлять код перенаправления: (Я сделал API перенаправления и зарегистрировал его URL во вкладке настроек)

class redirect(APIView):
    def get(self, request):
        code = request.GET['code']
        headers = {
            'Content-Type': 'application/json',
        }

        data = {"grant_type": "authorization_code", "client_id": "gJZQ66IW6h7ubMTnFuJmR5EnWgYEyadK",
                "client_secret": "KA2gCS80bjaNp-plqZ9twafqhyiuDeTYWGx6WByjNHsnGEHVPC5JFByC4ubGpVfU", "code": code,
                "redirect_uri": "http://localhost:8000/bug/redirect"}
        response = requests.post('https://auth.atlassian.com/oauth/token', headers=headers, data=json.dumps(data))
        # access_token = response.json()['access_token']
        refresh_token = response.json()['refresh_token']

        header = {
            'Content-Type': 'application/json',
        }

        access_token = response.json()['access_token']
        import pdb
        pdb.set_trace()

        headers = {
            'Authorization': access_token,
            'Accept': 'application/json',
        }

        response = requests.get('https://api.atlassian.com/oauth/token/accessible-resources', headers=headers)
        return JsonResponse({'response': response.json()})
...