From 4f3a98f19143865cdc1de4791e8a95d96bd40c65 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期五, 01 八月 2025 13:27:59 +0800
Subject: [PATCH] yys 密码已重置

---
 ruoyi-framework/src/main/java/com/ruoyi/framework/web/ssoAuth/SsoCodeAuthenticationProvider.java |   42 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 42 insertions(+), 0 deletions(-)

diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/ssoAuth/SsoCodeAuthenticationProvider.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/ssoAuth/SsoCodeAuthenticationProvider.java
new file mode 100644
index 0000000..689fe16
--- /dev/null
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/ssoAuth/SsoCodeAuthenticationProvider.java
@@ -0,0 +1,42 @@
+package com.ruoyi.framework.web.ssoAuth;
+
+import org.springframework.security.authentication.AuthenticationProvider;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.security.core.userdetails.UserDetailsService;
+import org.springframework.security.core.AuthenticationException;
+public class SsoCodeAuthenticationProvider implements AuthenticationProvider {
+
+    private UserDetailsService userDetailsService;
+
+    @Override
+    public Authentication authenticate(Authentication authentication) throws AuthenticationException {
+        SsoCodeAuthenticationToken authenticationToken = (SsoCodeAuthenticationToken) authentication;
+
+        String openId = (String) authenticationToken.getPrincipal();
+
+        UserDetails userDetails = userDetailsService.loadUserByUsername(openId);
+
+        // 姝ゆ椂閴存潈鎴愬姛鍚庯紝搴斿綋閲嶆柊 new 涓�涓嫢鏈夐壌鏉冪殑 authenticationResult 杩斿洖
+        SsoCodeAuthenticationToken authenticationResult = new SsoCodeAuthenticationToken(userDetails, userDetails.getAuthorities());
+
+        authenticationResult.setDetails(authenticationToken.getDetails());
+
+        return authenticationResult;
+    }
+
+
+    @Override
+    public boolean supports(Class<?> authentication) {
+        // 鍒ゆ柇 authentication 鏄笉鏄� SsoCodeAuthenticationToken 鐨勫瓙绫绘垨瀛愭帴鍙�
+        return SsoCodeAuthenticationToken.class.isAssignableFrom(authentication);
+    }
+
+    public UserDetailsService getUserDetailsService() {
+        return userDetailsService;
+    }
+
+    public void setUserDetailsService(UserDetailsService userDetailsService) {
+        this.userDetailsService = userDetailsService;
+    }
+}

--
Gitblit v1.9.3