moved CSRF generator to request parser instead of confirmation controller

pull/604/head
Justin Richer 2014-05-13 09:48:34 -04:00
parent a253ebc908
commit dcf36234c4
2 changed files with 9 additions and 4 deletions

View File

@ -26,7 +26,6 @@ import java.util.LinkedHashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.UUID;
import org.mitre.oauth2.model.ClientDetailsEntity; import org.mitre.oauth2.model.ClientDetailsEntity;
import org.mitre.oauth2.model.SystemScope; import org.mitre.oauth2.model.SystemScope;
@ -194,9 +193,7 @@ public class OAuthConfirmationController {
} }
// inject a random value for CSRF purposes // inject a random value for CSRF purposes
String csrf = UUID.randomUUID().toString(); model.put("csrf", authRequest.getExtensions().get("csrf"));
model.put("csrf", csrf);
authRequest.getExtensions().put("csrf", csrf);
return "approve"; return "approve";
} }

View File

@ -22,6 +22,7 @@ import java.text.ParseException;
import java.util.Collections; import java.util.Collections;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.UUID;
import org.mitre.jwt.encryption.service.JwtEncryptionAndDecryptionService; import org.mitre.jwt.encryption.service.JwtEncryptionAndDecryptionService;
import org.mitre.jwt.signer.service.JwtSigningAndValidationService; import org.mitre.jwt.signer.service.JwtSigningAndValidationService;
@ -137,6 +138,13 @@ public class ConnectOAuth2RequestFactory extends DefaultOAuth2RequestFactory {
} }
} }
// add CSRF protection to the request on first parse
String csrf = UUID.randomUUID().toString();
request.getExtensions().put("csrf", csrf);
return request; return request;
} }