SlideShare a Scribd company logo
1 of 99
Download to read offline
Valentyn Ostakh
https://github.com/valikos
https://twitter.com/valikos_ost
Rodauth
Clean Authentication
What is the most
necessary feature for
interaction with users?
Authentication
Authentication is the act of
identiļ¬cation of user that going
to interact with your product
I want authentication
for my application
Ruby-toolbox
Awesome-ruby
Authentication
ā€¢ Authlogic
ā€¢ Devise
ā€¢ Clearance
ā€¢ Sorcery
ā€¢ Warden
ā€¢ Rodauth
What about custom
solution?
Custom Solution vs
Authentication Libraries
Library Issues Pull Requests First Release
Sorcery 64/451 28/306 31 Jan 2011
Clearance 12/374 4/369 1 Sep 2009
Authlogic 124/221 6/186 3 Nov 2008
Devise 39/3353 29/979 21 Oct 2009
Warden 18/74 4/49 26 May 2009
Rodauth 0/8 0/11 12 Aug 2015
I want ļ¬‚exible
authentication that can be
used with any framework
How to choose a library
for my application?
Dependencies
ā€¢ Authlogic - activerecord, activesupport
ā€¢ Devise - rails, warden
ā€¢ Clearance - rails, rack
ā€¢ Sorcery - rails
ā€¢ Warden - rack
ā€¢ Rodauth - roda, rack
Clearance
Features
Registration
ā€¢ Authlogic
ā€¢ Devise
ā€¢ Clearance
ā€¢ Sorcery
ā€¢ Warden
ā€¢ Rodauth
Login
ā€¢ Authlogic
ā€¢ Devise
ā€¢ Clearance
ā€¢ Sorcery
ā€¢ Warden
ā€¢ Rodauth
Logout
ā€¢ Authlogic
ā€¢ Devise
ā€¢ Clearance
ā€¢ Sorcery
ā€¢ Warden
ā€¢ Rodauth
Would be great to have
token authentication
Token Authentication
ā€¢ Authlogic
ā€¢ Devise
ā€¢ Clearance
ā€¢ Sorcery
ā€¢ Warden
ā€¢ Rodauth
Token Authentication
Articles
ā€¢ An Introduction to Using JWT Authentication in Rails
ā€¢ Authenticate Your Rails API with JWT from Scratch
ā€¢ Token-based authentication with Ruby on Rails 5 API
ā€¢ JWT Auth in Rails, From Scratch
ā€¢ Implementing JWT in Ruby on Rails-based API
ā€¢ Authenticate Your Rails API with JWT
ā€¢ Rails Api Backed With JWT
ā€¢ Rails, Devise, JWT and the forgotten Warden
Token Authenticationā€Ø
Gems
ā€¢ jwt_authentication
ā€¢ simple_token_authentication
ā€¢ devise_token_auth
Token Authenticationā€Ø
Gems
ā€¢ jwt_authentication (based on devise)
ā€¢ simple_token_authentication (based on devise)
ā€¢ devise_token_auth (based on devise)
Token Authentication
Popularity
Library
Total Downloads
rubygems.org
Devise 21,407,462
Warden 21,018,495
Authlogic 2,343,678
Sorcery 527,431
Clearance 317,409
Rodauth 6,163
Summary
Library Dependencies Features
Tokenā€Ø
Authentication
Devise
Warden
Authlogic
Sorcery
Clearance
Rodauth
Rodauth
Rodauth
Jeremy Evans
Twitter: @jeremyevans0
Roda
Sequel
Rodauth Goals
ā€¢ Security
ā€¢ Simplicity
ā€¢ Flexibility
Features ļ¬rst
Rodauth Features
Login
Rodauth Features
Login
Logout
Rodauth Features
Login
Logout
Change Password
Rodauth Features
Login
Logout
Change Password
Change Login
Rodauth Features
Login
Logout
Change Password
Change Login
Reset Password
Rodauth Features
Login
Logout
Change Password
Change Login
Reset Password
Create Account
Rodauth Features
Login
Logout
Change Password
Change Login
Reset Password
Create Account
Close Account
Rodauth Features
Login
Logout
Change Password
Change Login
Reset Password
Create Account
Close Account
Verify Account
Rodauth Features
Login
Logout
Change Password
Change Login
Reset Password
Create Account
Close Account
Verify Account
Conļ¬rm Password
Rodauth Features
Login
Logout
Change Password
Change Login
Reset Password
Create Account
Close Account
Verify Account
Conļ¬rm Password
Remember (Autologin via token)
Rodauth Features
Login
Logout
Change Password
Change Login
Reset Password
Create Account
Close Account
Verify Account
Conļ¬rm Password
Remember (Autologin via token)
Lockout (Bruteforce protection)
Rodauth Features
Login
Logout
Change Password
Change Login
Reset Password
Create Account
Close Account
Verify Account
Conļ¬rm Password
Remember (Autologin via token)
Lockout (Bruteforce protection)
OTP (2 factor authentication via TOTP)
Rodauth Features
Login
Logout
Change Password
Change Login
Reset Password
Create Account
Close Account
Verify Account
Conļ¬rm Password
Remember (Autologin via token)
Lockout (Bruteforce protection)
OTP (2 factor authentication via TOTP)
Recovery Codes (2 factor authentication via backup codes)
Rodauth Features
Login
Logout
Change Password
Change Login
Reset Password
Create Account
Close Account
Verify Account
Conļ¬rm Password
Remember (Autologin via token)
Lockout (Bruteforce protection)
OTP (2 factor authentication via TOTP)
Recovery Codes (2 factor authentication via backup codes)
SMS Codes (2 factor authentication via SMS)
Rodauth Features
Login
Logout
Change Password
Change Login
Reset Password
Create Account
Close Account
Verify Account
Conļ¬rm Password
Remember (Autologin via token)
Lockout (Bruteforce protection)
OTP (2 factor authentication via TOTP)
Recovery Codes (2 factor authentication via backup codes)
SMS Codes (2 factor authentication via SMS)
Verify Change Login
Rodauth Features
Login
Logout
Change Password
Change Login
Reset Password
Create Account
Close Account
Verify Account
Conļ¬rm Password
Remember (Autologin via token)
Lockout (Bruteforce protection)
OTP (2 factor authentication via TOTP)
Recovery Codes (2 factor authentication via backup codes)
SMS Codes (2 factor authentication via SMS)
Verify Change Login
Verify Account Grace Period
Rodauth Features
Login
Logout
Change Password
Change Login
Reset Password
Create Account
Close Account
Verify Account
Conļ¬rm Password
Remember (Autologin via token)
Lockout (Bruteforce protection)
OTP (2 factor authentication via TOTP)
Recovery Codes (2 factor authentication via backup codes)
SMS Codes (2 factor authentication via SMS)
Verify Change Login
Verify Account Grace Period
Password Grace Period
Rodauth Features
Login
Logout
Change Password
Change Login
Reset Password
Create Account
Close Account
Verify Account
Conļ¬rm Password
Remember (Autologin via token)
Lockout (Bruteforce protection)
OTP (2 factor authentication via TOTP)
Recovery Codes (2 factor authentication via backup codes)
SMS Codes (2 factor authentication via SMS)
Verify Change Login
Verify Account Grace Period
Password Grace Period
Password Complexity
Rodauth Features
Login
Logout
Change Password
Change Login
Reset Password
Create Account
Close Account
Verify Account
Conļ¬rm Password
Remember (Autologin via token)
Lockout (Bruteforce protection)
OTP (2 factor authentication via TOTP)
Recovery Codes (2 factor authentication via backup codes)
SMS Codes (2 factor authentication via SMS)
Verify Change Login
Verify Account Grace Period
Password Grace Period
Password Complexity
Disallow Password Reuse
Rodauth Features
Login
Logout
Change Password
Change Login
Reset Password
Create Account
Close Account
Verify Account
Conļ¬rm Password
Remember (Autologin via token)
Lockout (Bruteforce protection)
OTP (2 factor authentication via TOTP)
Recovery Codes (2 factor authentication via backup codes)
SMS Codes (2 factor authentication via SMS)
Verify Change Login
Verify Account Grace Period
Password Grace Period
Password Complexity
Disallow Password Reuse
Password Expiration
Rodauth Features
Login
Logout
Change Password
Change Login
Reset Password
Create Account
Close Account
Verify Account
Conļ¬rm Password
Remember (Autologin via token)
Lockout (Bruteforce protection)
OTP (2 factor authentication via TOTP)
Recovery Codes (2 factor authentication via backup codes)
SMS Codes (2 factor authentication via SMS)
Verify Change Login
Verify Account Grace Period
Password Grace Period
Password Complexity
Disallow Password Reuse
Password Expiration
Account Expiration
Rodauth Features
Login
Logout
Change Password
Change Login
Reset Password
Create Account
Close Account
Verify Account
Conļ¬rm Password
Remember (Autologin via token)
Lockout (Bruteforce protection)
OTP (2 factor authentication via TOTP)
Recovery Codes (2 factor authentication via backup codes)
SMS Codes (2 factor authentication via SMS)
Verify Change Login
Verify Account Grace Period
Password Grace Period
Password Complexity
Disallow Password Reuse
Password Expiration
Account Expiration
Session Expiration
Rodauth Features
Login
Logout
Change Password
Change Login
Reset Password
Create Account
Close Account
Verify Account
Conļ¬rm Password
Remember (Autologin via token)
Lockout (Bruteforce protection)
OTP (2 factor authentication via TOTP)
Recovery Codes (2 factor authentication via backup codes)
SMS Codes (2 factor authentication via SMS)
Verify Change Login
Verify Account Grace Period
Password Grace Period
Password Complexity
Disallow Password Reuse
Password Expiration
Account Expiration
Session Expiration
Single Session
Rodauth Features
Login
Logout
Change Password
Change Login
Reset Password
Create Account
Close Account
Verify Account
Conļ¬rm Password
Remember (Autologin via token)
Lockout (Bruteforce protection)
OTP (2 factor authentication via TOTP)
Recovery Codes (2 factor authentication via backup codes)
SMS Codes (2 factor authentication via SMS)
Verify Change Login
Verify Account Grace Period
Password Grace Period
Password Complexity
Disallow Password Reuse
Password Expiration
Account Expiration
Session Expiration
Single Session
JWT
Rodauth Features
Login
Logout
Change Password
Change Login
Reset Password
Create Account
Close Account
Verify Account
Conļ¬rm Password
Remember (Autologin via token)
Lockout (Bruteforce protection)
OTP (2 factor authentication via TOTP)
Recovery Codes (2 factor authentication via backup codes)
SMS Codes (2 factor authentication via SMS)
Verify Change Login
Verify Account Grace Period
Password Grace Period
Password Complexity
Disallow Password Reuse
Password Expiration
Account Expiration
Session Expiration
Single Session
JWT
Update Password Hash
Rodauth Features
Login
Logout
Change Password
Change Login
Reset Password
Create Account
Close Account
Verify Account
Conļ¬rm Password
Remember (Autologin via token)
Lockout (Bruteforce protection)
OTP (2 factor authentication via TOTP)
Recovery Codes (2 factor authentication via backup codes)
SMS Codes (2 factor authentication via SMS)
Verify Change Login
Verify Account Grace Period
Password Grace Period
Password Complexity
Disallow Password Reuse
Password Expiration
Account Expiration
Session Expiration
Single Session
JWT
Update Password HashHTTP Basic Auth
Security
ā€¢ Uses database functions to access password
hashes
ā€¢ Two database accounts are used
ā€¢ Uses database functions to access password
hashes (optional)
ā€¢ Two database accounts are used (optional)
Flexibility
Can be used with the
any rack framework
require "roda"
class RodauthApp < Roda
# If using Rodauth in a non-Roda application
# plugin :middleware
plugin :rodauth do
enable :login, :logout, :change_password
end
route do |r|
r.rodauth
rodauth.require_authentication
# If using Rodauth in a Roda application
# Your app code here
end
end
# If using Rodauth in a non-Roda application
# use RodauthApp
# If using Rodauth in a Roda application
run RodauthApp
require "roda"
class RodauthApp < Roda
# If using Rodauth in a non-Roda application
# plugin :middleware
plugin :rodauth do
enable :login, :logout, :change_password
end
route do |r|
r.rodauth
rodauth.require_authentication
# If using Rodauth in a Roda application
# Your app code here
end
end
# If using Rodauth in a non-Roda application
# use RodauthApp
# If using Rodauth in a Roda application
run RodauthApp
Rodauth uses a simple
conļ¬guration DSL
require 'simple_ldap_authenticator'
plugin :rodauth do
enable :login, :logout
# Don't require the bcrypt library, since using LDAP for auth
require_bcrypt? false
# Treat the login itself as the account
account_from_login{|l| l.to_s}
# Use the login provided as the session value
account_session_value{account}
# Store session value in :login key, since the :account_id
# default wouldn't make sense
session_key :login
password_match? do |password|
SimpleLdapAuthenticator.valid?(account, password)
end
end
Simplicity
Rodauth allows for
overriding any part of the
framework
module Auth
class Rodauth < Roda
plugin :rodauth do
enable :login
end
route do |r|
r.post 'login' do
# Custom POST /login handling here
end
r.rodauth
end
end
end
How to start use
Rodauth?
ā€¢ Resolve database dependencies
ā€¢ Deļ¬ne Rodauth features
Database
dependencies
ā€¢ Setup database
ā€¢ Create tables
Setup With Postgresql
# Load extentions
psql -U postgres -c "CREATE EXTENSION citext" ${DATABASE_NAME}
# Create database accounts
createuser -U postgres ${DATABASE_NAME}
createuser -U postgres ${DATABASE_NAME}_password
Setup With Postgresql
create_table(:accounts) do
primary_key :id, :type=>:Bignum
foreign_key :status_id, :account_statuses, :null=>false, :default=>1
if db.database_type == :postgres
citext :email, :null=>false
constraint :valid_email, :email=>/^[^,;@ rn]+@[^,@; rn]+.[^,@; rn]+$/
index :email, :unique=>true, :where=>{:status_id=>[1, 2]}
else
String :email, :null=>false
index :email, :unique=>true
end
end
case database_type
when :postgres
user = get{Sequel.lit('current_user')} + '_password'
run "GRANT REFERENCES ON accounts TO #{user}"
end
Deļ¬ne Rodauth Features
plugin :rodauth, :json=>true, :csrf=>false, :flash=>false do
enable :change_password, :close_account, :create_account,
:login, :logout, :remember, :reset_password, :verify_account,
:otp, :recovery_codes, :sms_codes, :password_complexity,
:disallow_password_reuse, :password_grace_period,
:account_expiration, :single_session, :jwt, :session_expiration,
max_invalid_logins 2
allow_password_change_after 60
verify_account_grace_period 300
jwt_secret secret
sms_send do |phone_number, message|
MUTEX.synchronize{SMS[session_value] = "..."}
end
end
Summary
Rodauth Advantages
ā€¢ Integration with any rack application
ā€¢ Minimun dependencies
ā€¢ Features
ā€¢ Security
ā€¢ Simplicity
Rodauth Disadvantages
ā€¢ Doesnā€™t work with OAuth
ā€¢ Routes design: can mismatch with your design
My own experience
Registration
module Auth
class Rodauth < Roda
DB = Sequel.connect(ENV['DATABASE_URL'])
plugin :middleware
plugin :rodauth, json: :only do
enable :login, :logout, :jwt, :create_account
jwt_session_hash do
super().merge(exp: SmartTaskApi::Utils.jwt_expiration)
end
jwt_secret ENV['JWT_SECRET']
end
route do |r|
r.rodauth
env['rodauth'] = rodauth
end
end
end
Token Authentication
module Api
class Rodauth < Roda
DB = Sequel.connect(ENV['DATABASE_URL'])
plugin :middleware
plugin :rodauth, json: :only do
enable :jwt
jwt_secret ENV['JWT_SECRET']
end
route do |r|
r.rodauth
rodauth.require_authentication
env['rodauth'] = rodauth
end
end
end
Rodauth Examples
ā€¢ https://github.com/jeremyevans/ginatra
ā€¢ https://github.com/jeremyevans/rodauth-demo-rails
ā€¢ https://github.com/davydovanton/rodauth_hanami
ā€¢ https://github.com/davydovanton/grape-rodauth
ā€¢ https://github.com/valikos/smart-task-api-hanami
Rodauth
Clean Authentication
Thanks!
Questions?
Valentyn Ostakh
https://github.com/valikos
https://twitter.com/valikos_ost

More Related Content

Viewers also liked

ipad2
ipad2ipad2
ipad2pecochet
Ā 
B 100 Slide Show
B 100 Slide ShowB 100 Slide Show
B 100 Slide Showkenworth45
Ā 
Arafa30anys catĆ leg digital_9-credits
Arafa30anys catĆ leg digital_9-creditsArafa30anys catĆ leg digital_9-credits
Arafa30anys catĆ leg digital_9-creditsServeiswebUPF
Ā 
RavenDB 3.5
RavenDB 3.5RavenDB 3.5
RavenDB 3.5Oren Eini
Ā 
Jekyll, static websites generator
Jekyll, static websites generatorJekyll, static websites generator
Jekyll, static websites generatorFrancesco Napoletano
Ā 
Apache Arrow恮Rubyćƒć‚¤ćƒ³ćƒ‡ć‚£ćƒ³ć‚°ć‚’GObject Introspection恧
Apache Arrow恮Rubyćƒć‚¤ćƒ³ćƒ‡ć‚£ćƒ³ć‚°ć‚’GObject Introspection恧Apache Arrow恮Rubyćƒć‚¤ćƒ³ćƒ‡ć‚£ćƒ³ć‚°ć‚’GObject Introspection恧
Apache Arrow恮Rubyćƒć‚¤ćƒ³ćƒ‡ć‚£ćƒ³ć‚°ć‚’GObject Introspection恧Kouhei Sutou
Ā 
25 how does energy flow between organisms in an ecosystem
25 how does energy flow between organisms in an ecosystem25 how does energy flow between organisms in an ecosystem
25 how does energy flow between organisms in an ecosystemomneya_ghis ghis
Ā 
Roof crush test using LS-DYNA
Roof crush test using LS-DYNARoof crush test using LS-DYNA
Roof crush test using LS-DYNASuravi Banik
Ā 
Docker with devops program
Docker with devops programDocker with devops program
Docker with devops programSkylabReddy Vanga
Ā 
The Ring programming language version 1.2 book - Part 7 of 84
The Ring programming language version 1.2 book - Part 7 of 84The Ring programming language version 1.2 book - Part 7 of 84
The Ring programming language version 1.2 book - Part 7 of 84Mahmoud Samir Fayed
Ā 
The Ring programming language version 1.2 book - Part 9 of 84
The Ring programming language version 1.2 book - Part 9 of 84The Ring programming language version 1.2 book - Part 9 of 84
The Ring programming language version 1.2 book - Part 9 of 84Mahmoud Samir Fayed
Ā 
LMA Salary Survey - 2016
LMA Salary Survey - 2016 LMA Salary Survey - 2016
LMA Salary Survey - 2016 Ella Robinson
Ā 
30198 formato proyectos de aula
30198   formato proyectos de aula30198   formato proyectos de aula
30198 formato proyectos de aulaEfrƩn Ingledue
Ā 
Taxonomia de los sistemas
Taxonomia de los sistemasTaxonomia de los sistemas
Taxonomia de los sistemasluis mejia
Ā 
Proyecto de aula rosiris garcia
Proyecto de aula rosiris garciaProyecto de aula rosiris garcia
Proyecto de aula rosiris garciaEfrƩn Ingledue
Ā 
Especialmente Para Ty!!
 Especialmente Para Ty!! Especialmente Para Ty!!
Especialmente Para Ty!!DianaBlanco21
Ā 
Formato presentacion proyectos_educa_regional milton
Formato presentacion proyectos_educa_regional miltonFormato presentacion proyectos_educa_regional milton
Formato presentacion proyectos_educa_regional miltonEfrƩn Ingledue
Ā 

Viewers also liked (20)

Drug nije meta
Drug nije metaDrug nije meta
Drug nije meta
Ā 
ipad2
ipad2ipad2
ipad2
Ā 
B 100 Slide Show
B 100 Slide ShowB 100 Slide Show
B 100 Slide Show
Ā 
Arafa30anys catĆ leg digital_9-credits
Arafa30anys catĆ leg digital_9-creditsArafa30anys catĆ leg digital_9-credits
Arafa30anys catĆ leg digital_9-credits
Ā 
019965302 x
019965302 x019965302 x
019965302 x
Ā 
RavenDB 3.5
RavenDB 3.5RavenDB 3.5
RavenDB 3.5
Ā 
Jekyll, static websites generator
Jekyll, static websites generatorJekyll, static websites generator
Jekyll, static websites generator
Ā 
La bauhaus
La bauhausLa bauhaus
La bauhaus
Ā 
Apache Arrow恮Rubyćƒć‚¤ćƒ³ćƒ‡ć‚£ćƒ³ć‚°ć‚’GObject Introspection恧
Apache Arrow恮Rubyćƒć‚¤ćƒ³ćƒ‡ć‚£ćƒ³ć‚°ć‚’GObject Introspection恧Apache Arrow恮Rubyćƒć‚¤ćƒ³ćƒ‡ć‚£ćƒ³ć‚°ć‚’GObject Introspection恧
Apache Arrow恮Rubyćƒć‚¤ćƒ³ćƒ‡ć‚£ćƒ³ć‚°ć‚’GObject Introspection恧
Ā 
25 how does energy flow between organisms in an ecosystem
25 how does energy flow between organisms in an ecosystem25 how does energy flow between organisms in an ecosystem
25 how does energy flow between organisms in an ecosystem
Ā 
Roof crush test using LS-DYNA
Roof crush test using LS-DYNARoof crush test using LS-DYNA
Roof crush test using LS-DYNA
Ā 
Docker with devops program
Docker with devops programDocker with devops program
Docker with devops program
Ā 
The Ring programming language version 1.2 book - Part 7 of 84
The Ring programming language version 1.2 book - Part 7 of 84The Ring programming language version 1.2 book - Part 7 of 84
The Ring programming language version 1.2 book - Part 7 of 84
Ā 
The Ring programming language version 1.2 book - Part 9 of 84
The Ring programming language version 1.2 book - Part 9 of 84The Ring programming language version 1.2 book - Part 9 of 84
The Ring programming language version 1.2 book - Part 9 of 84
Ā 
LMA Salary Survey - 2016
LMA Salary Survey - 2016 LMA Salary Survey - 2016
LMA Salary Survey - 2016
Ā 
30198 formato proyectos de aula
30198   formato proyectos de aula30198   formato proyectos de aula
30198 formato proyectos de aula
Ā 
Taxonomia de los sistemas
Taxonomia de los sistemasTaxonomia de los sistemas
Taxonomia de los sistemas
Ā 
Proyecto de aula rosiris garcia
Proyecto de aula rosiris garciaProyecto de aula rosiris garcia
Proyecto de aula rosiris garcia
Ā 
Especialmente Para Ty!!
 Especialmente Para Ty!! Especialmente Para Ty!!
Especialmente Para Ty!!
Ā 
Formato presentacion proyectos_educa_regional milton
Formato presentacion proyectos_educa_regional miltonFormato presentacion proyectos_educa_regional milton
Formato presentacion proyectos_educa_regional milton
Ā 

Similar to Rodauth: Clean Authentication

Serverless Authentication and Authorisation for Your APIs on AWS
Serverless Authentication and Authorisation for Your APIs on AWS Serverless Authentication and Authorisation for Your APIs on AWS
Serverless Authentication and Authorisation for Your APIs on AWS Amazon Web Services
Ā 
AWS re:Invent 2016: Serverless Authentication and Authorization: Identity Man...
AWS re:Invent 2016: Serverless Authentication and Authorization: Identity Man...AWS re:Invent 2016: Serverless Authentication and Authorization: Identity Man...
AWS re:Invent 2016: Serverless Authentication and Authorization: Identity Man...Amazon Web Services
Ā 
JWT Authentication with AngularJS
JWT Authentication with AngularJSJWT Authentication with AngularJS
JWT Authentication with AngularJSrobertjd
Ā 
Serverless Authentication and Authorisation
Serverless Authentication and AuthorisationServerless Authentication and Authorisation
Serverless Authentication and AuthorisationAmazon Web Services
Ā 
Authentication in microservice systems - fsto 2017
Authentication in microservice systems - fsto 2017Authentication in microservice systems - fsto 2017
Authentication in microservice systems - fsto 2017Dejan Glozic
Ā 
The Many Flavors of OAuth - Understand Everything About OAuth2
The Many Flavors of OAuth - Understand Everything About OAuth2The Many Flavors of OAuth - Understand Everything About OAuth2
The Many Flavors of OAuth - Understand Everything About OAuth2Khor SoonHin
Ā 
Authenticator and provisioning connector in wso2 Identity Server
Authenticator and provisioning connector in wso2 Identity ServerAuthenticator and provisioning connector in wso2 Identity Server
Authenticator and provisioning connector in wso2 Identity ServerRajendram Kathees
Ā 
OmniAuth: From the Ground Up
OmniAuth: From the Ground UpOmniAuth: From the Ground Up
OmniAuth: From the Ground UpMichael Bleigh
Ā 
Altitude San Francisco 2018: Authentication at the Edge
Altitude San Francisco 2018: Authentication at the EdgeAltitude San Francisco 2018: Authentication at the Edge
Altitude San Francisco 2018: Authentication at the EdgeFastly
Ā 
Mobile Authentication - Onboarding, best practices & anti-patterns
Mobile Authentication - Onboarding, best practices & anti-patternsMobile Authentication - Onboarding, best practices & anti-patterns
Mobile Authentication - Onboarding, best practices & anti-patternsPieter Ennes
Ā 
Live Identity Services Drilldown - PDC 2008
Live Identity Services Drilldown - PDC 2008Live Identity Services Drilldown - PDC 2008
Live Identity Services Drilldown - PDC 2008Jorgen Thelin
Ā 
WSO2 Identity Server - Product Overview
WSO2 Identity Server - Product OverviewWSO2 Identity Server - Product Overview
WSO2 Identity Server - Product OverviewWSO2
Ā 
An Authentication and Authorization Architecture for a Microservices World
An Authentication and Authorization Architecture for a Microservices WorldAn Authentication and Authorization Architecture for a Microservices World
An Authentication and Authorization Architecture for a Microservices WorldVMware Tanzu
Ā 
Chrome Dev Summit 2020 Extended: Improve Your Web Authentication Security
Chrome Dev Summit 2020 Extended:  Improve Your Web Authentication SecurityChrome Dev Summit 2020 Extended:  Improve Your Web Authentication Security
Chrome Dev Summit 2020 Extended: Improve Your Web Authentication SecurityYu-Shuan Hsieh
Ā 
Lecture 12: React-Native Firebase Authentication
Lecture 12: React-Native Firebase AuthenticationLecture 12: React-Native Firebase Authentication
Lecture 12: React-Native Firebase AuthenticationKobkrit Viriyayudhakorn
Ā 
Understanding Identity in the World of Web APIs ā€“ Ronnie Mitra, API Architec...
Understanding Identity in the World of Web APIs ā€“ Ronnie Mitra,  API Architec...Understanding Identity in the World of Web APIs ā€“ Ronnie Mitra,  API Architec...
Understanding Identity in the World of Web APIs ā€“ Ronnie Mitra, API Architec...CA API Management
Ā 
What the Heck is OAuth and OIDC - UberConf 2018
What the Heck is OAuth and OIDC - UberConf 2018What the Heck is OAuth and OIDC - UberConf 2018
What the Heck is OAuth and OIDC - UberConf 2018Matt Raible
Ā 
Typical Vulnerabilities of E-Banking Systems
Typical Vulnerabilities of E-Banking SystemsTypical Vulnerabilities of E-Banking Systems
Typical Vulnerabilities of E-Banking SystemsPositive Hack Days
Ā 
Stateless authentication for microservices - Greach 2015
Stateless authentication for microservices - Greach 2015Stateless authentication for microservices - Greach 2015
Stateless authentication for microservices - Greach 2015Alvaro Sanchez-Mariscal
Ā 

Similar to Rodauth: Clean Authentication (20)

Serverless Authentication and Authorisation for Your APIs on AWS
Serverless Authentication and Authorisation for Your APIs on AWS Serverless Authentication and Authorisation for Your APIs on AWS
Serverless Authentication and Authorisation for Your APIs on AWS
Ā 
AWS re:Invent 2016: Serverless Authentication and Authorization: Identity Man...
AWS re:Invent 2016: Serverless Authentication and Authorization: Identity Man...AWS re:Invent 2016: Serverless Authentication and Authorization: Identity Man...
AWS re:Invent 2016: Serverless Authentication and Authorization: Identity Man...
Ā 
JWT Authentication with AngularJS
JWT Authentication with AngularJSJWT Authentication with AngularJS
JWT Authentication with AngularJS
Ā 
Serverless Authentication and Authorisation
Serverless Authentication and AuthorisationServerless Authentication and Authorisation
Serverless Authentication and Authorisation
Ā 
Authentication in microservice systems - fsto 2017
Authentication in microservice systems - fsto 2017Authentication in microservice systems - fsto 2017
Authentication in microservice systems - fsto 2017
Ā 
The Many Flavors of OAuth - Understand Everything About OAuth2
The Many Flavors of OAuth - Understand Everything About OAuth2The Many Flavors of OAuth - Understand Everything About OAuth2
The Many Flavors of OAuth - Understand Everything About OAuth2
Ā 
Authenticator and provisioning connector in wso2 Identity Server
Authenticator and provisioning connector in wso2 Identity ServerAuthenticator and provisioning connector in wso2 Identity Server
Authenticator and provisioning connector in wso2 Identity Server
Ā 
OmniAuth: From the Ground Up
OmniAuth: From the Ground UpOmniAuth: From the Ground Up
OmniAuth: From the Ground Up
Ā 
Altitude San Francisco 2018: Authentication at the Edge
Altitude San Francisco 2018: Authentication at the EdgeAltitude San Francisco 2018: Authentication at the Edge
Altitude San Francisco 2018: Authentication at the Edge
Ā 
Mobile Authentication - Onboarding, best practices & anti-patterns
Mobile Authentication - Onboarding, best practices & anti-patternsMobile Authentication - Onboarding, best practices & anti-patterns
Mobile Authentication - Onboarding, best practices & anti-patterns
Ā 
Some OAuth love
Some OAuth loveSome OAuth love
Some OAuth love
Ā 
Live Identity Services Drilldown - PDC 2008
Live Identity Services Drilldown - PDC 2008Live Identity Services Drilldown - PDC 2008
Live Identity Services Drilldown - PDC 2008
Ā 
WSO2 Identity Server - Product Overview
WSO2 Identity Server - Product OverviewWSO2 Identity Server - Product Overview
WSO2 Identity Server - Product Overview
Ā 
An Authentication and Authorization Architecture for a Microservices World
An Authentication and Authorization Architecture for a Microservices WorldAn Authentication and Authorization Architecture for a Microservices World
An Authentication and Authorization Architecture for a Microservices World
Ā 
Chrome Dev Summit 2020 Extended: Improve Your Web Authentication Security
Chrome Dev Summit 2020 Extended:  Improve Your Web Authentication SecurityChrome Dev Summit 2020 Extended:  Improve Your Web Authentication Security
Chrome Dev Summit 2020 Extended: Improve Your Web Authentication Security
Ā 
Lecture 12: React-Native Firebase Authentication
Lecture 12: React-Native Firebase AuthenticationLecture 12: React-Native Firebase Authentication
Lecture 12: React-Native Firebase Authentication
Ā 
Understanding Identity in the World of Web APIs ā€“ Ronnie Mitra, API Architec...
Understanding Identity in the World of Web APIs ā€“ Ronnie Mitra,  API Architec...Understanding Identity in the World of Web APIs ā€“ Ronnie Mitra,  API Architec...
Understanding Identity in the World of Web APIs ā€“ Ronnie Mitra, API Architec...
Ā 
What the Heck is OAuth and OIDC - UberConf 2018
What the Heck is OAuth and OIDC - UberConf 2018What the Heck is OAuth and OIDC - UberConf 2018
What the Heck is OAuth and OIDC - UberConf 2018
Ā 
Typical Vulnerabilities of E-Banking Systems
Typical Vulnerabilities of E-Banking SystemsTypical Vulnerabilities of E-Banking Systems
Typical Vulnerabilities of E-Banking Systems
Ā 
Stateless authentication for microservices - Greach 2015
Stateless authentication for microservices - Greach 2015Stateless authentication for microservices - Greach 2015
Stateless authentication for microservices - Greach 2015
Ā 

Recently uploaded

OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
Ā 
Shapes for Sharing between Graph Data SpacesĀ - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data SpacesĀ - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data SpacesĀ - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data SpacesĀ - and Epistemic Querying of RDF-...Steffen Staab
Ā 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
Ā 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
Ā 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
Ā 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
Ā 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp KrisztiƔn
Ā 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
Ā 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
Ā 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
Ā 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
Ā 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
Ā 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
Ā 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
Ā 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
Ā 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
Ā 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
Ā 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
Ā 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
Ā 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
Ā 

Recently uploaded (20)

OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
Ā 
Shapes for Sharing between Graph Data SpacesĀ - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data SpacesĀ - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data SpacesĀ - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data SpacesĀ - and Epistemic Querying of RDF-...
Ā 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
Ā 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
Ā 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Ā 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
Ā 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
Ā 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
Ā 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Ā 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
Ā 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
Ā 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
Ā 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
Ā 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
Ā 
tonesoftg
tonesoftgtonesoftg
tonesoftg
Ā 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
Ā 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
Ā 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
Ā 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
Ā 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
Ā 

Rodauth: Clean Authentication