Есть ли причина, по которой пакеты okta-oidc-js не будут работать ни с одним IDP OIDC?

Я реализую веб-приложение React, и некоторое время я не буду выбирать IDP. Мне нужно реализовать аутентификацию сейчас и использовать Azure B2C, пока не будет принято окончательное решение в отношении IDP.

Какой бы ни был окончательный IDP, он будет поддерживать OAuth2/OIDC, поэтому разве это не должно работать независимо от конкретного IDP?

Есть ли лучший вариант для интеграции OIDC-аутентификации с приложением React?

1 ответ

Решение

Самая портативная / основанная на стандартах / широко используемая библиотека для SPA - это почти определенно клиентская библиотека oidc: https://github.com/IdentityModel/oidc-client-js

Библиотеки Okta также основаны на стандартах и ​​не являются плохим выбором. К сожалению, многие из основных производителей не поддерживают OIDC стандартным образом.

Однако вы столкнетесь с некоторыми неприятностями, связанными с Azure AD и SPA - потоками кода авторизации (PKCE) и проблемами CORS.

Клиент OIDC, вероятно, предложит вам лучшие варианты решения проблемных областей. Вот тип кода, необходимый для интеграции библиотеки - класс UserManager имеет несколько полезных настроек, которые дают вам контроль:

https://github.com/gary-archer/authguidance.websample.azure/blob/master/spa/src/plumbing/oauth/authenticator.ts

Другие вопросы по тегам