Privacy-friendly alternative to Login with Facebook

SimpleLogin is built for privacy-conscious site owners and protects your users identity. Open-source, Developer-first, SimpleLogin can be integrated in minutes.

Get Started Read our Docs
SimpleLogin dashboard

Identity provider that respects your users privacy.

It's time to ditch Login with Facebook.

Easy integration

Painless setup. Default config to facilite our life (e.g. localhost is whitelisted by default 🥳). Start now and launch in the next hour.

100% open-source

Built upon open-source technology, all SimpleLogin components are also open-source.

No tracking

Using SimpleLogin shows that you care about your users privacy.

Follow the standard

SimpleLogin implements OAuth2/OpenID Connect, the industry standard for login solution and is fully compatible with any OAuth2/OpenID Connect library.


<button onclick="simpleLogin()">
    Login with SimpleLogin
</button>

<!-- Include SimpleLogin JS SDK -->
<script src="https://simplelogin.io/sdk/sdk.js"></script>
                    

SL.init("quickstart"); // Your SimpleLogin AppID

function simpleLogin() {
    SL.login(function(user){
        // This is where you log user in :)
        console.log("SimpleLogin user", user);
    });
}
                    

import requests_oauthlib, os

# Your SimpleLogin AppID, AppSecret
CLIENT_ID = os.environ.get("CLIENT_ID")
CLIENT_SECRET = os.environ.get("CLIENT_SECRET")

@app.route("/login")
def login():
    sl = requests_oauthlib.OAuth2Session(
        CLIENT_ID,
        redirect_uri="http://localhost:5000/callback"
    )
    redirect_url, _ = sl.authorization_url(
        "https://app.simplelogin.io/oauth2/authorize"
    )

    return flask.redirect(redirect_url)


@app.route("/callback")
def callback():
    sl = requests_oauthlib.OAuth2Session(CLIENT_ID)
    sl.fetch_token(
        "https://app.simplelogin.io/oauth2/token",
        client_secret=CLIENT_SECRET,
        authorization_response=flask.request.url
    )

    user_info = sl.get("https://app.simplelogin.io/oauth2/userinfo").json()
    print(user_info["email"], user_info["name"], user_info["avatar_url"])
    return "Welcome " + user_info["name"]
                    

# Based on social-auth-app-django library
pip install git+ssh://git@github.com/simple-login/social-core.git@sl
                    

# settings.py
AUTHENTICATION_BACKENDS = [
    'social_core.backends.simplelogin.SimpleLoginOAuth2',
    'django.contrib.auth.backends.ModelBackend',
]

SOCIAL_AUTH_SIMPLELOGIN_KEY = 'YOUR_APP_ID'
SOCIAL_AUTH_SIMPLELOGIN_SECRET = 'YOUR_APP_SECRET'

                    

<!-- In your login template -->
<a href="{% url 'social:begin' 'simplelogin' %}">Login with SimpleLogin</a>
                    

                            // config SimpleLogin OIDC
passport.use('SimpleLogin', new OidcStrategy({
    issuer: 'https://app.simplelogin.io',
    authorizationURL: 'https://app.simplelogin.io/oauth2/authorize',
    tokenURL: 'https://app.simplelogin.io/oauth2/token',
    userInfoURL: 'https://app.simplelogin.io/oauth2/userinfo',
    clientID: process.env.CLIENT_ID, // SimpleLogin AppId
    clientSecret: process.env.CLIENT_SECRET, // SimpleLogin AppSecret
    callbackURL: process.env.URL + '/authorization-code/callback',
    scope: 'openid profile'
}, (issuer, sub, profile, accessToken, refreshToken, done) => {
    return done(null, profile);
}));

// show user info
app.use('/profile', (req, res) => {
    console.log("user:", req);
    res.render('profile', {
        title: 'User Info',
        user: req.user._json
    });
});
                    
Coming soon...
Coming soon...

Created by developer for developer

SimpleLogin is compatible with all Oauth2/OpenID Connect libraries.

Check Icon
Python (Flask)
Check Icon
Python (Django)
Check Icon
NodeJS (Passport.js)
Check Icon
Client-side javascript
Check Icon
ReactJS, VueJS Coming soon

As a software engineer, I like SimpleLogin concept and its streamlined development experience.
There are some solutions with a similar purpose, but none of them is transparent for users. Or simple enough for developers to integrate.
Finally, a service that makes people conscious about PRIVACY. And helps developers bring trust to their brand identity in a SIMPLE way.

Trung NGUYEN

Software Engineer, Docker

Frequently asked questions

알고 계셨습니까? Facebook과 Google은 이러한 버튼으로 이용자들의 브라우징 히스토리를 추적해서 더욱 개인화된 광고를 제공합니다.

SimpleLogin은 광고 업체와 관련이 없으므로, 당신의 데이터를 사용해서 얻을 수 있는 이득이 없어 사용자가 자신의 데이터에 대한 완전한 통제권을 가질 수 있습니다.

SimpleLogin의 모든 코드는 GitHub에서 완전한 오픈 소스입니다

누구나 코드를 감사하거나 자신만의 SimpleLogin 서버를 구축할 수 있다는 뜻입니다.

SimpleLogin의 수익구조는 투명하고 지속가능한 모델에 기반하여 프라이버시를 최우선하고 추적기가 없는 상품을 제공할 수 있습니다.

당연합니다! 저희가 웹 플랫폼부터 시작한 것은 심플하게 그것을 Android WebView와 IOS UIWebView를 통한 모바일 앱으로도 이용할 수 있기 때문입니다.

머지 않아 Android, iOS, Windows용 SDK와 예제를 제공할 계획입니다. 지켜봐 주세요!