[RUBY] So deaktivieren Sie Set-Cookie über die API auf der Vorderseite

Hintergrund

devise-token-auth zum Erstellen einer mobilen App-Version einer Rails-Web-App, die mit [devise] erstellt wurde (https://github.com/heartcombo/devise) Als ich versuchte, die Tokenauthentifizierung mit lynndylanhurley / devise_token_auth) zu aktivieren, funktionierte das Cookie und es wurden weitere Benutzerinformationen zurückgegeben.

Womit ich beschäftigt war

Ich habe den von devise-token-auth erstellten Endpunkt überprüft, indem ich ihn von vorne getroffen habe. Wenn ich es direkt mit Curl schlagen würde, würde es funktionieren ...

Lösung

import { NativeModules } from 'react-native';

NativeModules.Networking.clearCookies(() => { });

Der Referenzartikel ist so wie er ist, aber wenn Sie dies auf der Vorderseite tun (React Native), wird das von der API gesendete Cookie auf der Vorderseite gelöscht und funktioniert wie erwartet.

Dieses Mal wurde es auf der Vorderseite unterstützt, aber es scheint, dass es auch unterstützt werden kann, indem der Devise-Token-Auth-Controller auf der Rückseite überschrieben wird.

Warum wurde der Cookie gespeichert?

Es scheint, dass native Apps standardmäßig Cookies speichern. Übrigens, obwohl Cookie im Rails-API-Modus nicht standardmäßig verwendet werden kann, habe ich diesmal versucht, einer vorhandenen Webanwendung mit devise-token-auth eine Tokenauthentifizierung hinzuzufügen, sodass Cookie übergeben wird. Es war.

Referenzartikel

https://qiita.com/kakken1988/items/504e679504b9e710cf21

Apropos

Wir machen einen Album- / Foto-Sharing-Service namens Memopic. Bitte benutzen Sie es! Wenn Sie Meinungen oder Wünsche haben, kontaktieren Sie uns bitte hier ([email protected]).

Nicht nur hier, sondern auch bei der Einführung von devise-token-auth war ich ein wenig süchtig danach, mit devise zusammen zu existieren, deshalb werde ich bald einen Artikel darüber schreiben ~

Wir freuen uns auf Ihre Vorschläge und Meinungen!

Recommended Posts

So deaktivieren Sie Set-Cookie über die API auf der Vorderseite
[Java] So rufen Sie die von HTML auf der Serverseite übergebenen Parameter ab
So zeigen Sie 0 auf der linken Seite des Standardeingabewerts an
SetCookie von der Client-Seite mit OkHttp3
Migration von Eclipse zu IntelliJ (unterwegs)
[Java] Memo zum Schreiben der Quelle
Freigeben auf der Hostseite (Windows) und der Gastseite (CentOS 7) mit VirtualBox
Wie schreibe ich Scala aus der Perspektive von Java
[Java] So extrahieren Sie den Dateinamen aus dem Pfad
[Ruby on Rails] So ändern Sie den Spaltennamen
So stellen Sie mit Heroku eine Verbindung zu ClearDB von Sequel Pro her
So ermitteln Sie die Prefetch-Anforderung (Prefetch) im Browser
Installieren Sie MySQL 5.6 unter CentOS6 [So geben Sie die Version an]
Lassen Sie uns schreiben, wie API mit SpringBoot + Docker von 0 erstellt wird
Verwendung der Ketten-API
Wie man mit Heroku einsetzt
So erstellen Sie ein Formular zur Auswahl eines Datums aus dem Kalender
[RuboCop] So deaktivieren Sie Warnungen
Apache Geode-Einfache Möglichkeit, Logik auf der Serverseite auszuführen
So erhalten Sie die längsten Informationen von Twitter ab dem 12.12.2016
So installieren Sie JDK 8 unter Windows ohne Verwendung des Installationsprogramms
[Schienen] So deaktivieren Sie Turbolinks
So wechseln Sie Java in der OpenJDK-Ära auf dem Mac
So führen Sie React und Rails auf demselben Server aus
So spielen Sie eine MIDI-Datei mit der Java Sound API ab
[Docker] Zugriff auf den Host aus dem Container heraus. http: //host.docker.internal:
So wenden Sie das C-Code-Format über die Befehlszeile an
[Swift] So ändern Sie dynamisch die Höhe der Symbolleiste auf der Tastatur
[Rails / Heroku / MySQL] So setzen Sie die Datenbank der Rails-App auf Heroku zurück
So installieren und konfigurieren Sie das Überwachungstool "Graphite" unter Ubuntu
So führen Sie das Kotlin Coroutine-Beispiel über die Befehlszeile aus
[Java] So konvertieren Sie vom Typ String in den Pfadtyp und erhalten den Pfad
Verwendung der link_to-Methode
Kommentar zur COTOHA Syntax Analysis API
Verwendung der include? -Methode
Verwendung der Methode form_with
So stellen Sie Laravel für CentOS 7 bereit
[java8] Um die Stream-API zu verstehen
So finden Sie den durchschnittlichen Winkel
Verwendung der Wrapper-Klasse
Verwendung von Ruby on Rails
Verwendung von Bio-Formaten unter Ubuntu 20.04
So installieren Sie MariaDB 10.4 unter CentOS 8
Hinweise zur Migration von CircleCI 1.0 auf 2.0
So installieren Sie WildFly unter Ubuntu 18.04