Если вы пытаетесь защитить приложение для конечного пользователя (ваш вопрос по этому вопросу не ясен), я понимаю, что если вы используете Auth0, вам, скорее всего, не понадобится API /api/login
и api/auth
.Если вы используете Auth0, вы можете получить эти данные во время аутентификации через Auth0.
Я бы сказал, что ваше ПРИЛОЖЕНИЕ (не API) перенаправит пользователя на конечную точку входа Auth0.Это можно сделать, включив Auth0 SDK на выбор , в зависимости от того, что вы создаете.Например, если вы создаете веб-приложение, вы можете включить auth0.js
и позвонить webAuth.authorize()
, чтобы активировать вход в систему.Во время этого входа в систему, если вы настроили API в Auth0, и вы указали правильную область действия и аудиторию во время входа в систему, ваш ответ вернет токен API.
Тогда ваш пользователь находится в состоянии на стороне клиентагде вы вошли в систему, и у вас есть токен.Затем вы можете предоставить этот токен своему API, и ваш API может при необходимости проверить его.Auth0 также имеет различные библиотеки для проверки токена (например, spring security one ).
Наконец, вопрос о том, какой поток oAuth использовать, это также зависит от того, какое приложениеты защищаешьСнова Auth0 docs , чтобы помочь.Процесс зависит от того, создаете ли вы веб-приложение на стороне сервера, SPA, собственное приложение и т. Д. Ваш вопрос немного сбивает с толку, и он звучит так, будто вы создаете API и хотите его защитить.Если нет клиентского приложения (только вызовы API между компьютерами), то вы не будете иметь дело с HTML и страницами входа.Скорее всего, вы попадете в поток Client Credentials , который я в последний раз проверял, был включен только для пользователей Enterprise Auth0.