ใน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 เพื่อรับโทเค็นเพื่อเพิ่มไปยังคำขอขาออกจากแอปพลิเคชันของฉัน
WebClient
) หรือสิ่งที่คล้ายกันใช้เพื่อดึงโทเค็น OAuth จาก ผู้ให้บริการ OAuth ที่กำหนดเอง (ไม่ใช่หนึ่งในนั้นที่รองรับ OoTB เช่น Facebook / Google) เพื่อเพิ่มลงในคำขอขาออก ตัวอย่างทั้งหมดดูเหมือนจะมุ่งเน้นไปที่การตรวจสอบคำขอขาเข้ากับผู้ให้บริการรายอื่น คุณมีพอยน์เตอร์สำหรับตัวอย่างที่ดีบ้างไหม?