openiddict - указанный код авторизации недействителен
Я написал веб-API в.NET core 2.0 и используя openiddict. При тестировании варианта использования внешнего входа в систему выполняются следующие шаги.
- Пользователь звонит в контроллер аккаунта, указывая своего внешнего провайдера входа в систему, который запускает процесс вызова.
/ API / счет /externallogin? Поставщик =Facebook
- Результат процесса Challenge вызывает API-интерфейс (ExternalLoginCallback) с успешным результатом и перенаправляет на следующую конечную точку API, чтобы вернуть код авторизации клиенту через redirect_uri.
/ connect / authorize? client_id = myClient & response_type = code & scope =offline_access & redirect_uri = http://myclient/signin-oidc ";
- Клиент получает код через redirect_uri с добавленным кодом, как показано ниже
- Клиент немедленно извлекает код из URL-адреса и отправляет следующую конечную точку для получения маркеров доступа / обновления, но получает сообщение об ошибке
invalid grant
с описанием ошибкиThe specified authorization code is invalid
,
/ Подключения / маркер
Следующие значения отправляются в сообщении для запроса токена доступа:
grant_type = код авторизации
Код = CfDJ8Agzs3e68m5Ev0zC5okWI7 --_ T13E-ULHqeUlzgmEWBcPj6PYBBzAWu0kssa0wl3OcYX-YG0jCzhLZr2Wajvjc_zJTsmK12rmRjPAzqbqu9OuMjDX-wzNQYMI0cpLW1ZuumvPZHiRP5hxWAVpgH1pu5VwdcQBTBpyOPOP0JD2Wba1VAF9iopN1YIquLkvtVXnJEEKhb1apqfJAkA_NNk2lSRxFBkq6rFn9wLEOt2y9b0fOqsJ0sqmA1jbhJVfiVPaaI8z3J8HnzFtMwNHTwgpU8gAjk9ZTeTuP86nxQZl8R-P7LgEvOs8AgTR1g_WBSZgwtPfpULV3Ib7iUn8BQ4PiDhcwVR3Wed9Utnmbx5w8iDV9-jo4QRleuH8QWmZxXqr2nyeeCKqC01VHoEGl1KJak1jcxzFg7ooZAM_yrD207n0jy-hX9dvyl6XezSND5-ltjWjM1b96iK_74X8Euf4YVlhcV2bWPzBmgBSWQydOfT_xv3HNmXQcWwXjlEcCaxzdAKTconRDUuycBsdLS1Je6cME5deT9fzp98Lt6ryuVGNtkkqGg0LcKv49JmPyiBHrQfQUOUQg8fXkCYrf7k8FG5N8e-k3X1P3NEcYFcMchxF_1s1T2lUGAfmJ3P8Yqd9j26PF-gWzQHwkcdz1ptwbIXmF-tHuQK8zmIHoa5ErB3lR5bffsZmmG77NpTT-yq82Bbl5yf32RXKunqf5rQrVF7cWX0eM1h-EDgeHiMwx2IOYkHcxK6JLcRlggDfG__wMn_vEsQwW5UJaKU1VywT3hBGvS-zmbseparILu8hGDL5DrpmLpE3a5obWsp1yCM33fb7ciYmWuwQXKldG7MWXg # =
redirect_uri = http://myclient/signin-oidc "
cient_id = myClient
client_secret = mySecret
область действия =offline_access роль электронной почты openid