Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1699 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Java Spring Boot - oauth

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Java Spring Boot - oauth

n°2328990
R-a-p-h2
Posté le 11-02-2019 à 14:39:50  profilanswer
 

Bonjour,
 
Je sollicite une nouvelle fois votre aide :  
 
Je souhaite limiter mon authentification à un domaine spécifique (par exemple @mondomain.com) et
dans un deuxième temps limiter les users de mondomain.com. ( par exemple jean@mondomain.com est autorisé: pierre@mondomain.com pas autorisé).
 
Hey je pensais que un paramètre  d'api google pouvais le faire, mais apparemment je pense mal.
 
Pour le moment, j'ai une autorisation via google, j'ai google qui me cache mes autres nom de domaine, mais si je souhaite me connecté avec un autre domaine je peux.
 
Est ce que quelqu’un à déjà fait?
Ou une idée pour m'aiguiller ?
Merci beaucoup.
Raphael
 
application.properties
 
   

Code :
  1. security.oauth2.
  2.     security.oauth2.client.clientSecret =
  3.     security.oauth2.client.accessTokenUri  =  https://www.googleapis.com/oauth2/v3/token
  4.     security.oauth2.client.userAuthorizationUri  =  https://accounts.google.com/o/oauth [...] voteam.com
  5.     security.oauth2.client.tokenName = oauth_token
  6.     security.oauth2.client.authenticationScheme = query
  7.     security.oauth2.client.clientAuthenticationScheme = form
  8.     security.oauth2.client.scope = profile email
  9.     security.oauth2.client.registered-redirect-uri= http://127.0.0.1:8080/mypage1
  10.     security.oauth2.resource.userInfoUri  =  https://www.googleapis.com/userinfo/v2/me
  11.     security.oauth2.resource.preferTokenInfo = false


 
WebSecurityConfiguration.java
 
   

Code :
  1. package com.devoteam.presales.testspringsecu;
  2.     import org.springframework.context.annotation.Configuration;
  3.     import org.springframework.boot.autoconfigure.security.oauth2.client.EnableOAuth2Sso;
  4.     import org.springframework.security.config.annotation.web.builders.HttpSecurity;
  5.     import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
  6.     import org.springframework.security.web.csrf.CookieCsrfTokenRepository;
  7.     @Configuration
  8.     @EnableOAuth2Sso
  9.     public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter {
  10.         @Override
  11.         protected void configure(HttpSecurity http) throws Exception {
  12.              http
  13.                      .csrf().disable()
  14.                      .authorizeRequests()
  15.                      .antMatchers("/", "/home" ).permitAll()
  16.                      .anyRequest().authenticated()
  17.                      .and()
  18.                      .formLogin()
  19.                      .loginPage("/login" )
  20.                      .permitAll()
  21.                      .and()
  22.                      .logout().logoutSuccessUrl("/" )
  23.                      .permitAll(); 
  24.         }
  25.     }


 
TestspringApplication.java
 
   

Code :
  1. package com.devoteam.presales.testspringsecu;
  2.     import java.security.Principal;
  3.     import org.springframework.boot.SpringApplication;
  4.     import org.springframework.boot.autoconfigure.SpringBootApplication;
  5.     import org.springframework.ui.Model;
  6.     import org.springframework.web.bind.annotation.RequestMapping;
  7.     import org.springframework.web.bind.annotation.RequestMethod;
  8.     import org.springframework.web.bind.annotation.RestController;
  9.     @SpringBootApplication
  10.     @RestController
  11.     public class TestspringsecuApplication {
  12.         public static void main(String[] args) {
  13.             SpringApplication.run(TestspringsecuApplication.class, args);
  14.         }
  15.         @RequestMapping(value = "/user" )
  16.         public Principal user(Principal principal) {
  17.             return principal;
  18.         }
  19.     }


Message édité par R-a-p-h2 le 11-02-2019 à 18:50:44
mood
Publicité
Posté le 11-02-2019 à 14:39:50  profilanswer
 

n°2329004
DDT
Few understand
Posté le 11-02-2019 à 17:53:28  profilanswer
 

Tu devrais éviter de partager ton client id + secret.
 
Pour la restriction du domaine: https://stackoverflow.com/questions [...] omain-name
 
Pour la gestion des droits des utilisateurs en revanche, je dirais que ça doit être fait de ton côté.


---------------
click clack clunka thunk
n°2329033
R-a-p-h2
Posté le 12-02-2019 à 11:46:09  profilanswer
 

Hello,
Merci pour le client Id, je m'en étais même pas aperçu.
Alors le sujet que tu m'as donné j'avais vue, mais j'ai pas réussi de le mettre en place dans spring.
Pour moi Spring boot c'est un peu de la sorcellerie et j'arrive pas a mettre les mains dans le cambouis. Vu que pas mal de choses sont sensés être gérés automatiquement.
Je sais pas trop comment implémenter le hd=domain.
 
Merci de ton aide
 
 

n°2329086
R-a-p-h2
Posté le 13-02-2019 à 15:13:31  profilanswer
 

Re, pour info,  j'ai réglé mon problème avec un petit coup de javascript. j'ai récupéré le nom de domaine puis j'ai comparé. c'est pas super  beau mais ça fonctionne.
 

Code :
  1. $.get("/user", function(data) {
  2.     var domain = "devoteam.com";
  3.     if (data.userAuthentication.details.hd !== domain) {
  4.         $.post("/logout", function() {
  5.             $("#user" ).html('');
  6.             $(".unauthenticated" ).show();
  7.             $(".authenticated" ).hide();
  8.         });
  9.         window.location.replace("http://127.0.0.1:8080" );
  10.     }
  11.        $("#domain" ).html(data.userAuthentication.details.hd);
  12.     });


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Java Spring Boot - oauth

 

Sujets relatifs
aide Spring boot /jquery /apiRecherche professeur pour apprendre à programmer en Java
Recherche de testeurs pour debug Java JDK[JAVA] exécution projet multi-package
[Java] Aide débutant JavaJava calcule moyen des heure
Qui veut m'aider à créer un ensemble d'applications similaire à java?JAVA Variable final ???
Script JAVA sous Google SHEETS 
Plus de sujets relatifs à : Java Spring Boot - oauth


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR