1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package fr.paris.lutece.plugins.mylutece.modules.persona.service;
35
36 import fr.paris.lutece.plugins.mylutece.modules.persona.authentication.PersonaAuthValidation;
37 import fr.paris.lutece.plugins.mylutece.modules.persona.authentication.PersonaAuthentication;
38 import fr.paris.lutece.plugins.mylutece.modules.persona.authentication.PersonaUser;
39 import fr.paris.lutece.portal.service.security.LuteceUser;
40 import fr.paris.lutece.portal.service.security.SecurityService;
41
42 import org.apache.log4j.Logger;
43
44 import javax.servlet.http.HttpServletRequest;
45
46
47
48
49
50 public final class PersonaService
51 {
52 private static final PersonaAuthentication _authService = new PersonaAuthentication( );
53 private static Logger _logger = Logger.getLogger( "persona" );
54
55
56 private PersonaService( )
57 {
58 }
59
60
61
62
63
64
65 public static void processAuthentication( HttpServletRequest request, String strAuthResponse )
66 {
67 _logger.debug( "Process authentication response" );
68
69 PersonaAuthValidation authValidation = PersonaUtils.parseResponse( strAuthResponse );
70
71 if ( authValidation.isOK( ) )
72 {
73 PersonaUser user = new PersonaUser( authValidation.getEmail( ), _authService );
74 user.setUserInfo( LuteceUser.BUSINESS_INFO_ONLINE_EMAIL, authValidation.getEmail( ) );
75 SecurityService.getInstance( ).registerUser( request, user );
76 _logger.debug( "Authentication successful : " + strAuthResponse );
77 }
78 else
79 {
80 _logger.debug( "Authentication failed : " + strAuthResponse );
81 }
82 }
83
84
85
86
87
88 public static void processLogout( HttpServletRequest request )
89 {
90 _logger.debug( "Process logout" );
91 SecurityService.getInstance( ).logoutUser( request );
92 }
93 }