Implementing sign out
The signOut method revokes the session on the frontend and on the backend. Calling this function without a valid session also yields a successful response.
- Web
- Mobile
- Via NPM
- Via Script Tag
import Session from "supertokens-web-js/recipe/session";
async function logout () {
  await Session.signOut(); 
  window.location.href = "/auth"; // or to wherever your logic page is
}
async function logout () {
  await supertokensSession.signOut(); 
  window.location.href = "/auth"; // or to wherever your logic page is
}
- React Native
- Android
- iOS
- Flutter
import SuperTokens from "supertokens-react-native";
async function logout () {
  await SuperTokens.signOut(); 
  // navigate to the login screen..
}
import android.app.Application
import com.supertokens.session.SuperTokens
class MainApplication: Application() {
    fun logout() {
        SuperTokens.signOut(this);
        // navigate to the login screen..
    }
}
import UIKit
import SuperTokensIOS
class ViewController: UIViewController {
  func signOut() {
    SuperTokens.signOut(completionHandler: {
        error in
        
        if error != nil {
            // handle error
        } else {
            // Signed out successfully
        }
    })
  }
}
import 'package:supertokens_flutter/supertokens.dart';
Future<void> signOut() async {
  await SuperTokens.signOut(
    completionHandler: (error) {
      // handle error if any
    }
  );
}
- On success, the signOutfunction does not redirect the user to another page, so you must redirect the user yourself.
- The signOutfunction calls the signout API exposed by the session recipe on the backend.
- If you call the signOutfunction whilst the access token has expired, but the refresh token still exists, our SDKs will do an automatic session refresh before revoking the session.