Ajouter l'attribut SameSite au cookie en Java

(20/01/08 19:45 postscript)

Aperçu

javax.servlet.http.Cookie n'a pas d'API pour accorder l'attribut SameSite. C'est une réponse dans un tel cas. À propos, l'attribut SameSite est pris en charge par presque tous les navigateurs. Référence

Utilisez l'en-tête Set-Cookie au lieu de la classe Cookie

Je vais l'essayer avec Spring Boot.

@RestController
public class DemoController {

    @GetMapping(value = "/")
    public String index(HttpServletResponse response) {

	    String name = "name";
	    String value = "takeshi";

	    String cookie = String.format("%s=%s; max-age=3600; Path=/; HttpOnly; Secure; SameSite=Lax;", name, value);

	    response.addHeader("Set-Cookie", cookie);

	    return "hello, world!";
    }

Screen Shot 2019-08-06 at 17.11.55.png

Takeshi est entré sain et sauf.

Botte de printemps

Spring Boot a une classe appelée ResponseCookie qui crée une chaîne de cookie pour l'en-tête. Si vous utilisez cette classe et renvoyez la réponse définie par Set-Cookie, elle définira le cookie.

@RestController
public class DemoController {
    @GetMapping(value = "/")
    public String index(HttpServletRequest request, HttpServletResponse response) {

        String name = "name";
        String value = "takeshi";

        ResponseCookie cookie = ResponseCookie.from(name, value).domain("localhost").maxAge(Duration.ofDays((long) 1))
            .httpOnly(true).secure(true).sameSite("Strict").build();
        response.addHeader("Set-Cookie", cookie.toString());

        return "Hello, World";
    }
}

無題.png

Si vous écrivez fréquemment des cookies, il semble préférable de créer une classe personnalisée qui reçoit et définit les paramètres. Vous pouvez également définir des paramètres par lots côté serveur Web, tels qu'Apache ou nginx. Référence

référence

Class Cookie https://stackoverflow.com/questions/42717210/samesite-cookie-in-java-application https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie

Class ResponseCookie

Recommended Posts

Ajouter l'attribut SameSite au cookie en Java
Multithread pour s'adapter au modèle [Java]
Comment apprendre JAVA en 7 jours
Ajouter un filigrane à Java au document PDF
Comment utiliser les classes en Java?
[Java] Ajouter WordArt au document Word
Comment concaténer des chaînes avec Java
Java (add2)
Java (ajouter)
Comment implémenter le calcul de la date en Java
Comment implémenter le filtre de Kalman par Java
Prise en charge multilingue de Java Comment utiliser les paramètres régionaux
Essayez de résoudre Project Euler en Java
Facile à créer Slack Bot avec Java
Référence Java à comprendre dans la figure
[Java] Comment ajouter des données à la liste (add, addAll)
Comment ajouter un fichier jar dans ScalaIDE
Comment faire une conversion de base en Java
Convertir des fichiers SVG en fichiers PNG en Java
Comment appliquer les conventions de codage en Java
Ajouter un document à Azure Search Service (Java)
Comment obtenir la date avec Java
[Java Bronze] 5 problèmes à garder à l'esprit
Exemple pour décompresser le fichier gz en Java
Comment spécifier l'attribut id dans JSF
De Java à C et de C à Java dans Android Studio
Si vous souhaitez incorporer dynamiquement des valeurs et ajouter du texte aux valeurs d'attribut dans Thymeleaf 3
Raison pour ajouter L au nombre à mettre en type long Java
Cookie SameSite dans Spring Boot (Spring Web MVC + Tomcat)
Ajoutez des armes originales aux mods avec Minecraft Forge 1.15.2
Deux façons de démarrer un thread en Java + @
[Java] Ajouter des guillemets uniquement à des colonnes CSV spécifiques
Ajouter l'option --enable-preview dans Java dans Visual Studio Code
Je souhaite envoyer un e-mail en Java.
Comment afficher une page Web en Java
CORBA semble avoir été supprimé dans Java SE 11. .. ..
Code pour échapper aux chaînes JSON en Java
Essayez de créer un babillard en Java
Changements dans Java 11
Janken à Java
Comment obtenir une classe depuis Element en Java
Il ne semble pas y avoir d'autre-si en java
Comment ajouter un chemin de classe dans Spring Boot
rsync4j --Je veux toucher rsync en Java.
Comment masquer les champs nuls en réponse en Java
Ajouter, lire et supprimer des commentaires Excel à l'aide de Java
Comment ajouter conditionnellement une classe html.erb dans Rails
Bibliothèque "OSHI" pour acquérir des informations système avec Java
[Java] Introduction à Java
Ajouter classpath: au chemin spécifié dans spring.datasource.schema
[Java] Article pour ajouter une validation avec Spring Boot 2.3.1.
Introduction à Java
Comment résoudre les problèmes d'expression en Java
J'ai essayé de créer une compétence Alexa avec Java
Comment écrire Java String # getBytes dans Kotlin?
Points à connaître avec Java Equals