목차
질문 내용
해결 방법
백엔드 개발 Golang GO 인증 액세스 토큰(keycloak)

GO 인증 액세스 토큰(keycloak)

Feb 09, 2024 am 09:30 AM
spring security

GO 验证访问令牌(keycloak)

최신 네트워크 애플리케이션에서는 보안이 매우 중요합니다. 사용자 데이터와 시스템 리소스를 보호하기 위해서는 액세스 토큰 확인이 필수 단계입니다. 강력한 신원 인증 및 액세스 관리 솔루션인 Keycloak은 개발자에게 간단하고 안전한 확인 방법을 제공합니다. 이 기사에서 PHP 편집자 Xigua는 Keycloak을 사용하여 애플리케이션 보안을 보장하기 위해 액세스 토큰을 확인하는 방법을 소개합니다. 이 문서의 지침에 따라 액세스 토큰 확인을 쉽게 구현하고 승인된 사용자만 애플리케이션에 액세스할 수 있도록 할 수 있습니다.

질문 내용

GO를 사용하여 액세스 토큰 확인을 구현하려고 합니다. 하지만 온라인에서 본 예에서는 TOKEN_SECRET을 사용하여 유효성을 검사하는 것 같습니다. 하지만 저는 Java Spring 프로그래밍에 익숙하므로 TOKEN_SECRET을 사용할 필요가 없습니다. jwk-set-uri를 제공하고 유효성(자동 - 보안 필터 등)을 확인하며 oauth 서버와 통신하여 이 유효성 검사를 수행한다는 것을 알고 있습니다.

oauth 서버에 요청하여 토큰이 유효한지 확인할 수 있는 라이브러리가 Go에 없나요?

oauth 서버의 userinfo 엔드포인트에 요청하여 이 작업을 수동으로 수행할 수 있다는 것을 알고 있습니다.

으아악

(키 인증이 있는 헤더에 토큰 포함)

하지만 이것이 완전히 표준에 맞는지는 모르겠습니다.

올바른 접근 방식은 무엇인가요?

해결 방법

짧은 답변: go-oidc을 사용하세요.

긴 답변: 먼저 Spring Security가 JWT 액세스 토큰을 자동으로 검증하는 방법을 이해해 보겠습니다. 관례적으로 application.yaml 配置文件中定义 OAuth 2.0 或 OIDC 客户端属性,Spring 将自动在安全过滤器链中连接一个过滤器,从 Keycloak 中获取 jwk-set에 있는 경우 Keycloak은 Keycloak이 토큰 서명에 사용하는 키에 해당하는 공개 키 집합입니다. 필터는 모든 보호된 경로에 적용되며 Spring은 공개 키를 사용하여 토큰의 서명이 유효한지 확인하고 해당하는 경우 다른 검사(대상, 시간 초과 등...)를 수행합니다.

그럼 Go에서는 어떻게 할까요? jwk-set 并使用它来验证令牌。您需要检查 alg 声明以查看使用了哪种签名算法,从 jwk-set 中选择相应的公钥并检查签名是否有效。然后,解码令牌,确认 isssub 声明,以确保它来自受信任的颁发者并面向目标受众,并检查它是否尚未过期。检查 nbf (不早于)和 iat(published on) 문의 시간이 올바른지 여부를 승인하는 간단한 미들웨어를 작성할 수 있습니다. 마지막으로, 필요한 경우 다운스트림에 토큰의 관련 정보가 요청 컨텍스트에 주입됩니다.

으아악

위 내용은 GO 인증 액세스 토큰(keycloak)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Spring Security 6: cors()는 더 이상 사용되지 않으며 제거 대상으로 표시됩니다. Spring Security 6: cors()는 더 이상 사용되지 않으며 제거 대상으로 표시됩니다. Feb 10, 2024 pm 11:45 PM

Spring Security 6: cors()는 더 이상 사용되지 않으며 제거 대상으로 표시됩니다.

Java를 사용하여 Spring Security SAML 기반 Single Sign-On 시스템을 개발하는 방법 Java를 사용하여 Spring Security SAML 기반 Single Sign-On 시스템을 개발하는 방법 Sep 22, 2023 am 08:49 AM

Java를 사용하여 Spring Security SAML 기반 Single Sign-On 시스템을 개발하는 방법

GO 인증 액세스 토큰(keycloak) GO 인증 액세스 토큰(keycloak) Feb 09, 2024 am 09:30 AM

GO 인증 액세스 토큰(keycloak)

Spring Security 권한 제어 프레임워크 사용 가이드 Spring Security 권한 제어 프레임워크 사용 가이드 Feb 18, 2024 pm 05:00 PM

Spring Security 권한 제어 프레임워크 사용 가이드

Java를 사용하여 Spring Security OAuth2 기반의 Single Sign-On 시스템을 개발하는 방법 Java를 사용하여 Spring Security OAuth2 기반의 Single Sign-On 시스템을 개발하는 방법 Sep 20, 2023 pm 01:06 PM

Java를 사용하여 Spring Security OAuth2 기반의 Single Sign-On 시스템을 개발하는 방법

Spring Security는 나머지 서비스에서 인증된 사용자와 인증되지 않은 사용자에 대한 사용자 정보를 가져옵니다. Spring Security는 나머지 서비스에서 인증된 사용자와 인증되지 않은 사용자에 대한 사용자 정보를 가져옵니다. Feb 08, 2024 pm 11:00 PM

Spring Security는 나머지 서비스에서 인증된 사용자와 인증되지 않은 사용자에 대한 사용자 정보를 가져옵니다.

Java RESTful API 설명서: 모든 애플리케이션을 위한 완벽한 서비스 구축 Java RESTful API 설명서: 모든 애플리케이션을 위한 완벽한 서비스 구축 Mar 27, 2024 pm 12:11 PM

Java RESTful API 설명서: 모든 애플리케이션을 위한 완벽한 서비스 구축

Java API 개발에서 보안 인증을 위해 Spring Security OAuth 사용 Java API 개발에서 보안 인증을 위해 Spring Security OAuth 사용 Jun 18, 2023 am 08:01 AM

Java API 개발에서 보안 인증을 위해 Spring Security OAuth 사용

See all articles