Spring Authorization Server 1.0.0: Javascript-Fehler beim Anfordern von /oauth2/token
P粉314915922
P粉314915922 2023-09-04 15:24:41
0
1
509

Ich habe einen Spring Authorization Server erstellt – Sie finden den Code auf Github https://github.com/costerutilo/UTILO-Authorization-Server

Ich kann das Token nicht über JavaScript lesen. Ich habe eine einfache Vue-Webanwendung erstellt, um den Client-Autorisierungscode abzurufen, aber ich kann das Token nicht abrufen.

Versuchen Sie es mit der Abruf-API:

const url = 'http://127.0.0.1:9000/oauth2/token'; var credentials = btoa(import.meta.env.VITE_CLIENT_ID + ':' + 'secret'); var basicAuth = 'Basic ' + Anmeldeinformationen; var myHeaders = new Headers(); //myHeaders.append("Authorization", "Basic dXRpbG8tY2xpZW50OnNlY3JldA=="); myHeaders.append("Authorization", basicAuth); myHeaders.append("Content-Type", "application/x-www-form-urlencoded"); var urlencoded = new URLSearchParams(); urlencoded.append("grant_type", "authorization_code"); // urlencoded.append("code", "yyJTTI3JqNno1XlSW59qxX3CCytMm-ChoHnqVw3iSUGyT6ltT_tpPclQ8bdSyeApO4IWE442irBiRwntJJzae9BIntpC3_vshTgNhAfbsBlkwh3n50jkAxs hTqavqsy"); urlencoded.append("code", code); urlencoded.append("redirect_uri", "https://www.utilo.eu"); var requestOptions = { Methode: 'POST', Header: myHeaders, Körper: URL-codiert, Weiterleitung: 'Folgen' }; fetch(URL, requestOptions) .then(response => Response.text()) .then(result => console.log(result)) .catch(error => console.log('error', error));

In der Javascript-Konsole des Browsers sehe ich eine CORS-Ausnahme

Zugriff zum Abrufen bei 'http://127.0.0.1:9000/oauth2/token' vom Ursprung 'http://127.0.0.1:9010' hat wurde durch CORS-Richtlinie blockiert: Antwort auf Preflight-Anfrage besteht die Zugriffskontrollprüfung nicht

Die Serverkonsole gibt den Fehler aus:

2023-02-27T09:35:53.786+01:00 TRACE 33212 --- [nio-9000-exec-3] o.s.s.w.a.ExceptionTranslationFilter: AnonymousAuthenticationToken wird gesendet [ Principal=anonymousUser, Credentials=[PROTECTED], Authenticated=true, Details=WebAuthenticationDetails [RemoteIpAddress=127.0.0.1, SessionId=null], Granted Authorities=[ROLE_ANONYMOUS]] zum Authentifizierungseinstiegspunkt, da der Zugriff verweigert wird org.springframework.security.access.AccessDeniedException: Zugriff verweigert

Wenn ich dieselbe Anfrage in Postman versuche, erhalte ich JSON mit dem Token.

Ich weiß nicht, was mein Denkfehler ist oder was ich falsch mache.

P粉314915922
P粉314915922

Antworte allen (1)
P粉792026467

您将需要为您的 Spring Security 过滤器链启用 CORS并提供@Bean例如此示例: p>

@Configuration public class CorsConfig { @Bean public CorsConfigurationSource corsConfigurationSource() { UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); CorsConfiguration config = new CorsConfiguration(); config.addAllowedHeader("*"); config.addAllowedMethod("*"); config.addAllowedOrigin("http://127.0.0.1:4200"); config.setAllowCredentials(true); source.registerCorsConfiguration("/**", config); return source; } }

注意:端口4200用于 Angular 开发环境,替换为您的 Vue 开发服务器端口。

    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!