Embed instant 1-click Web SSO, hardware-attested Android SDK logins, and zero-config user claims into high-growth applications in minutes.
// 1-Click Web Zero-Config SSO
const auth = new SuloroAuth({
clientId: "app_98f412a8bc93",
mode: "popup"
});
const { user, token } = await auth.signIn();
console.log("✨ Verified User:", user.name);
Explore how Suloro unifies authentication across Web and native Android apps with instant cryptographic handshakes.
// 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
*/
Embed popup authentication and silent iframe session verification into any web application without complex OAuth configurations.
Distributed directly from dl.suloro.com/android. Native support for Kotlin ViewBinding, Java, and Jetpack Compose.
Download official SVG vector icons and generate pre-styled CSS buttons for Light, Dark, Blue, and Icon-only layouts.
SHA-256 certificate validation and Google Play Integrity API attestation prevent APK repackaging and unauthorized access.
Deep-dive documentation for Web single-page apps, websites, and native Android applications.
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.
Distributed via dl.suloro.com/android. Ready for Kotlin ViewBinding, Java, and Jetpack Compose rememberLauncherForActivityResult.
Instantly receive verified profile claims (uid, name, email, gender, dateOfBirth, photoUrl) without tedious scope strings.
Download vector SVG brand logos and copy official CSS code for custom Sign in with Suloro buttons.
Register client apps, configure callback URIs, add Android SHA-256 fingerprints, and monitor auth traffic.
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());
}
});
}
}
Register your developer client in seconds and deploy high-performance single sign-on across all your apps.