У меня есть внутреннее приложение, которое использует Неявный поток для аутентификации.Однако, поскольку это одностраничное приложение в React JS (с использованием @okta/okta-react
и @okta/okta-signin-widget
), невозможно безопасно хранить идентификатор клиента в React Code.Итак, я добавил AWS Lambda (доступ через шлюз API) в качестве декоратора, которому вызов будет переадресован из приложения React, затем этот Lambda украсит вызов с помощью имени для входа в систему Okta, прикрепляя идентификатор клиента, перед переадресацией вызова наOkta для доступа токен.
Фрагменты кода App.js:
<Security
issuer="https://dev-123456.okta.com/oauth2/default"
client_id="012some345client6789id"
redirect_uri={window.location.origin + '/implicit/callback'}
onAuthRequired={onAuthRequired}
>
и
<Route
path="/login"
render={() => (
<Login baseUrl="https://dev-123456.okta.com" />
)}
/>
с модулями okta-react
и okta-signin-widget
, выполнен вызов аутентификации Okta, как можноЯ изменяю этот вызов, чтобы проходить через декоратор, и декоратор переадресует вызов фактическим URL-адресам Okta.
См .: Пример репозитория и код app.js