Overview Sign in with Suloro (SIWS) Web Guide Android SDK Suloro Ads API Reference FAQ Open Developer Console
Suloro Developer Platform • 2026 Edition

Build on Suloro.
Tools, SDKs & APIs.

Accelerate your software development with Suloro's privacy-first identity standard, developer console, high-performance REST APIs, and native SDKs.

Instant
Handshake Speed
100%
Zero Ad Tracking
99.99%
Cloud Uptime

Unified Architecture. Zero Friction.

Explore how Suloro unifies authentication across Web and native Android apps with instant cryptographic handshakes.

suloro-sso-login.js ● 0-Config SSO
// 1. Launch 1-Click Popup Auth
const auth = new SuloroAuth({
  clientId: "app_89f3a19b",
  mode: "popup"
});

// 2. Receive verified user claims
const { user, token } = await auth.signIn();
/*
  ✓ UID: usr_7831f290ac
  ✓ Name: Jane Doe
  ✓ Email: jane@example.com
  ✓ Privacy: Zero Tracking Cookies
*/
Popup postMessage • Silent Iframe Auto-Login
Step 01 • Web SSO

Frictionless Web Authentication

Embed popup authentication and silent iframe session verification into any web application without complex OAuth configurations.

popup-callback.html postMessage API Instant Handshake
Step 02 • Android SDK

Native Android Integration

Distributed directly from dl.suloro.com/android. Native support for Kotlin ViewBinding, Java, and Jetpack Compose.

com.suloro.android:auth Jetpack Compose Kotlin DSL
Step 03 • Suloro Ads

High-Yield App Monetization

Monetize Android and Web applications with privacy-first banners, interstitials, and rewarded ad units.

dl.suloro.com/android cdn.suloro.com/js/ads Zero Layout Shift
Step 04 • Security

Hardware Attestation & Integrity

SHA-256 certificate validation and hardware key attestation prevent APK repackaging and unauthorized access.

SHA-256 Fingerprint Hardware Attestation AES-GCM 256-bit

Choose Your Target Platform

Deep-dive documentation for Web single-page apps, websites, native Android applications, and Suloro Ads.

Sign in with Suloro for Web

Implement 1-click popup authentication, full redirect mode, and silent iframe auto-login (check_session). Built with the secure HTML5 postMessage standard and zero tracking cookies.

Popup Flow Redirect Fallback Silent Auto-Login Account Chooser
Read Full Web Integration Guide

Native Android SDK

Distributed via dl.suloro.com/android. Ready for Kotlin ViewBinding, Java, and Jetpack Compose rememberLauncherForActivityResult.

Kotlin DSL Jetpack Compose minSdk 24+
Explore Android SDK

Suloro Ads Platform

Monetize with banner, interstitial, and rewarded experiences. Auto-injected tags and sandbox test placements.

Responsive Banners Interstitials Rewarded Ads
Explore Suloro Ads

Developer Console

Register client apps, configure callback URIs, add Android SHA-256 fingerprints, and monitor auth traffic.

Open Console

Drop In. Initialize. Authenticate.

Copy production-ready integration snippets in your preferred language or framework.

// index.html — 1-Click Popup Auth
function loginWithSuloro() {
  const CLIENT_ID = "YOUR_WEB_CLIENT_ID";
  const REDIRECT_URI = window.location.origin + "/popup-callback.html";
  
  const authUrl = `https://accounts.suloro.com/signin?client_id=${encodeURIComponent(CLIENT_ID)}&redirect_uri=${encodeURIComponent(REDIRECT_URI)}`;
  
  const popup = window.open(authUrl, "SuloroAuth", "width=500,height=650,top=100,left=100");
  
  window.addEventListener("message", (event) => {
    if (event.origin !== window.location.origin) return;
    if (event.data?.type === "SULORO_AUTH_SUCCESS") {
      const { user, token } = event.data.payload;
      console.log("Welcome", user.name, user.email);
    }
  });
}
// MainActivity.kt — Kotlin ViewBinding Integration
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        
        // Initialize SDK
        SuloroAuth.init(SuloroAuthConfig(clientId = "ANDROID_CLIENT_ID"))
        
        binding.btnSuloroSignIn.setOnClickListener {
            SuloroAuth.getInstance().signIn(this, object : SuloroAuthCallback {
                override fun onSuccess(user: SuloroUser) {
                    Log.d("Auth", "Logged in as: ${user.name} (${user.email})")
                }
                override fun onError(error: SuloroAuthError) {
                    Toast.makeText(this@MainActivity, error.message, Toast.LENGTH_SHORT).show()
                }
            })
        }
    }
}
// Jetpack Compose Composable Screen
@Composable
fun AuthScreen(onLoginSuccess: (SuloroUser) -> Unit) {
    val authLauncher = rememberLauncherForActivityResult(SuloroAuthContract()) { result ->
        when (result) {
            is SuloroAuthResult.Success -> onLoginSuccess(result.user)
            is SuloroAuthResult.Error -> /* Handle Error */
            is SuloroAuthResult.Cancelled -> /* User Dismissed */
        }
    }

    Button(onClick = {
        authLauncher.launch(SuloroAuthConfig("ANDROID_CLIENT_ID"))
    }) {
        Text("Sign in with Suloro")
    }
}
// Java Integration — MainActivity.java
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        SuloroAuth.init(new SuloroAuthConfig("ANDROID_CLIENT_ID"));
        
        SuloroAuth.getInstance().signIn(this, new SuloroAuthCallback() {
            @Override
            public void onSuccess(SuloroUser user) {
                Log.d("SuloroAuth", "User Name: " + user.getName());
            }
            @Override
            public void onError(SuloroAuthError error) {
                Log.e("SuloroAuth", "Auth Error: " + error.getMessage());
            }
        });
    }
}

Ready to integrate Suloro?

Start in minutes with our ready-to-use SDKs and comprehensive documentation.

Get Started Suloro Ads