ν€ν΄λ‘ 컀μ€ν°λ§μ΄μ§
ν€ν΄λ‘(Keycloak)μ λμ νμ¬ ν΅ν© μΈμ¦μ ꡬννλ κ²½μ° κΈ°λ³Έμ μΈ μΈμ¦κ³Ό μΈκ°μ λν΄μλ ν΄κ²°ν΄μ£Όλ―λ‘ νΈλ¦¬ν κ² κ°μ§λ§ μμ€ν μμ νμλ‘ νλ λͺ¨λ μꡬμ¬νμ 컀λ²ν΄μ£Όμ§λ μλλ€. μΌλΆ μμ€ν μμ μꡬλλ κΈ°λ₯μ μ²λ¦¬νκ³ μ νλ κ²½μ°μλ Server Developer Guideλ₯Ό μ°Έκ³ νμ¬ μνλ λμμ μνν μ μλλ‘ μ»€μ€ν°λ§μ΄μ§ ν΄μΌνλ€.
ν€ν΄λ‘ λ‘κ·ΈμΈ ν λ§
Keycloakifyλ₯Ό ν΅ν΄ μ§μ ν리λ§μ»€ ν νλ¦Ώμ μμ±νμ§ μκ³ μ 컀μ€ν ν λ§λ₯Ό ꡬμ±ν μ μλ κ² κ°μ§λ§ μ무λλ μ‘°μ§μμ 리μ‘νΈλ₯Ό λ€λ£¨κ³ μμ§ μμΌλ―λ‘ ν€ν΄λ‘ ν λ§λ₯Ό 컀μ€ν°λ§μ΄μ§νλ κ²μ΄ κ°μ₯ 곡μκ° ν° λΆλΆμΌ κ² κ°λ€.
μΈλΆ μ¬μ©μ DBλ₯Ό μ°λνκ³ μ νλ κ²½μ°
μΌλ°μ μΌλ‘ User Federation μ μν΄ μΈλΆ μ¬μ©μ DBλ₯Ό μ¬μ©ν μ μλλ‘ User Storage SPI μ UserStorageProviderλ₯Ό ꡬνν΄μΌνλ€. ν€ν΄λ‘μ΄ κ΄λ¦¬νλ μ¬μ©μ μλ³μ μ λν νμ(Storage Ids)μ λν΄μ μμμΌν κ² κ°λ€.
λ‘κ·ΈμΈ μ OTP μ½λλ₯Ό μ΄λ©μΌ λλ SMS λ‘ λ°μΌλ €λ κ²½μ°
ν€ν΄λ‘μμ μ 곡νλ Configure OTPμ κ²½μ° TOTP Authenticatorλ₯Ό λ±λ‘νλ λ°©μμΌλ‘ μ§ννκΈ° λλ¬Έμ OTP μ½λλ₯Ό μ΄λ©μΌ, SMS λλ μΉ΄μΉ΄μ€ μλ¦Όν‘μΌλ‘ 보λ΄κΈ° μν΄μλ μ΄μ λν Service Provider Interface λ₯Ό ꡬνν΄μΌνλ€.
μλΉμ€ μ ν리μΌμ΄μ μμ OTP λλ ν¨μ€ν€ λ±λ‘
ν€ν΄λ‘μ μ¬μ©μ μ½μ(Account Console)μμ Authenticator λλ Passkeyλ₯Ό λ±λ‘νλ κ²μ μλΉμ€ μ ν리μΌμ΄μ μμ ꡬννμ¬ μνν μ μλμ§λ λ μ°Ύμλ΄μΌν κ² κ°λ€. λ§μ½, λΆκ°λ₯ν κ²½μ° ν€ν΄λ‘ μ¬μ©μ μ½μμ λν ν λ§λ₯Ό 컀μ€ν°λ§μ΄μ§ ν μ λ°μ μμ κ² κ°λ€.
μ¬μ©μ μΈμ¦ μ μλ‘μ΄ λλ°μ΄μ€μ λν μλ¦Όμ μ 곡νλ κ²½μ°
Event Listener SPIμ EventListenerProviderλ₯Ό ꡬννμ¬ λ‘κ·ΈμΈ μ΄λ²€νΈλ₯Ό κ°μ§νκ³ μΈμ¦λ λλ°μ΄μ€ μΈμ μ 보λ₯Ό ν λλ‘ μλ‘μ΄ λλ°μ΄μ€μ λν μλ¦Όμ ꡬνν μ μλ€. ν€ν΄λ‘ μ체μ μΌλ‘ μ κ· λ°κΈ μ¬λΆλ₯Ό μ 곡ν΄μ£Όμ§λ μμΌλ―λ‘ λ³λμ μ μ₯μμ λλ°μ΄μ€μ λν μ 보λ₯Ό μ μ₯νκ³ λΉκ΅νλ λ°©μμΌλ‘ ꡬνν΄μΌν κ² κ°λ€.