4
Spring Security 5 การแทนที่สำหรับ OAuth2RestTemplate
ในspring-security-oauth2:2.4.0.RELEASEชั้นเรียนเช่นOAuth2RestTemplate, OAuth2ProtectedResourceDetailsและClientCredentialsAccessTokenProviderทั้งหมดได้รับการทำเครื่องหมายว่าเลิก จาก javadoc ในคลาสเหล่านี้ชี้ไปที่คู่มือการโยกย้ายความปลอดภัยฤดูใบไม้ผลิที่บอกว่าคนควรโยกย้ายไปยังโครงการหลักความปลอดภัยสปริง 5 อย่างไรก็ตามฉันมีปัญหาในการค้นหาว่าฉันจะใช้กรณีการใช้งานของฉันในโครงการนี้อย่างไร เอกสารและตัวอย่างทั้งหมดพูดคุยเกี่ยวกับการรวมเข้ากับผู้ให้บริการ OAuth ส่วนที่ 3 หากคุณต้องการให้มีการตรวจสอบคำขอขาเข้าของแอปพลิเคชันของคุณและคุณต้องการใช้ผู้ให้บริการ OAuth บุคคลที่สามเพื่อยืนยันตัวตน ในกรณีที่ใช้งานทั้งหมดที่ฉันต้องการจะทำคือการร้องขอกับRestTemplateบริการภายนอกที่ได้รับการคุ้มครองโดย OAuth ขณะนี้ฉันสร้างด้วยรหัสลูกค้าและความลับของฉันซึ่งฉันผ่านเข้าไปในOAuth2ProtectedResourceDetails OAuth2RestTemplateฉันยังมีการClientCredentialsAccessTokenProviderเพิ่มแบบกำหนดเองลงในOAuth2ResTemplateที่เพิ่งเพิ่มส่วนหัวพิเศษบางอย่างลงในคำขอโทเค็นที่ต้องการโดยผู้ให้บริการ OAuth ที่ฉันใช้ ในเอกสารประกอบ Spring-security 5 ฉันได้พบส่วนที่ระบุการปรับแต่งคำขอโทเค็นแต่อีกครั้งที่ดูเหมือนจะอยู่ในบริบทของการตรวจสอบคำขอที่เข้ามากับผู้ให้บริการ OAuth บุคคลที่สาม ยังไม่ชัดเจนว่าคุณจะใช้สิ่งนี้ร่วมกับบางสิ่งเช่น a อย่างไรClientHttpRequestInterceptorเพื่อให้แน่ใจว่าแต่ละคำขอที่ส่งออกไปยังบริการภายนอกจะได้รับโทเค็นก่อนแล้วจึงได้รับสิ่งนั้นเพิ่มเข้ากับคำขอ นอกจากนี้ในคู่มือการโยกย้ายที่ลิงก์ด้านบนมีการอ้างอิงถึงสิ่งOAuth2AuthorizedClientServiceที่กล่าวว่ามีประโยชน์สำหรับการใช้ในเครื่องดักฟัง แต่อีกครั้งดูเหมือนว่าจะต้องอาศัยสิ่งต่าง ๆ เช่นClientRegistrationRepositoryที่ดูเหมือนจะเป็นที่ที่มันยังคงลงทะเบียนสำหรับผู้ให้บริการบุคคลที่สาม ที่จัดทำขึ้นเพื่อให้แน่ใจว่าคำขอที่เข้ามานั้นได้รับการรับรองความถูกต้อง มีวิธีใดบ้างที่ฉันสามารถใช้ประโยชน์จากฟังก์ชั่นใหม่ใน spring-security 5 สำหรับการลงทะเบียนผู้ให้บริการ OAuth เพื่อรับโทเค็นเพื่อเพิ่มไปยังคำขอขาออกจากแอปพลิเคชันของฉัน