Hey! Je m'appelle Artem Ivlev et je suis engagé dans l'architecture d'identification des clients de VTB Bank. Notre tâche est de répondre à la question de savoir qui utilise notre service bancaire: mobile ou Internet banking, assistant vocal, ou tout simplement l'un des nombreux bureaux. Il existe de nombreux outils pour cela - et je veux vous parler de la formation de l'un d'entre eux.
Prologue
Nous sommes en 2019, l'écosystème de la banque se développe à pas de géant, et nous avons de plus en plus besoin d'un point d'entrée unique pour les clients et d'un fournisseur d'identification. Et il n'y a qu'un répertoire de comptes et des solutions distinctes de différentes équipes pour l'authentification.
Nous n'avions pas encore d'exigences sur la façon dont tout devrait ressembler. Dans le même temps, nous avons immédiatement commencé à parler de l'authentification des individus non seulement dans la banque en ligne, mais aussi sur les ressources des partenaires. Le même bouton "Entrer via VTB".
Voici à quoi ressemblera l'entrée via VTB
Il en découle que nous devions prendre la solution la plus universelle et commencer à l'utiliser. En cours d'utilisation, nous pourrions déterminer ce dont nous avons exactement besoin, quelles fonctions manquent, etc.
Choisir la voie Ă suivre
Après avoir cherché sur Internet, fumé les carrés magiques de Gartner, ils ont commencé à se pencher sur des solutions open source avec un soutien en Russie:
• WSO2 Identity Server
• Keycloak
• OpenAM
WSO2 , . .
WSO2 Identity Server
2019 .
(, ) —
, OAuth 2 ID- JWT, . , JWT — :
1. (HEADER) , , .
2. (PAYLOAD) — — , , .
3. (SIGNATURE) , , .
JSON Web Token (JWT)
— , . Base64.
ID- JWT : , . — . API Gateway, .
, X , , «» .
— API Gateway. , , Redis TimeToLive.
, , ? - . , , , .
«»
, « ""» (()​ « »). (HttpOnly, SameSite, Secure) UUID. UUID , , CRC32, — JWT. . , , . , « — » .
,
. , , , , , -, , (, push, - ).
. , , WSO2 IS, , , API SPA.
, JSP. -, API .
- , .
- API/oauth2/token — .
- grant_type, /oauth2/token, .
. - — . , — grant type. , .
, ,
, , — - , « » . WSO2 IS .
. PostgreSQL Redis. .
:)
, , . — . ( , - ) .
— , . — .
active-active active-passive, PostgreSQL Redis. - .
— WSO2 IS. . Redis, JWT refresh-.
? SSO
WSO2 IS, , , , , .
-. . . «», « » , , . .
« »
, , , «» . . , , « » (, « », ). — .
, . . ? WSO2 IS?
, , , , — , . , — .
: SSO, .
: ? , Tarantool Data Grid?