Devise - RSLA - 13oct2009

Post on 18-May-2015

1.025 views 1 download

description

George Guimarães e Carlos Antonio talk about a new authentication solution, build as engine and rack based, for Rails at Rails Summit Latin America 2009

Transcript of Devise - RSLA - 13oct2009

Plataforma 2009

Autenticação flexível com Devise

http://github.com/plataformatec/devise

Plataforma 2009

Soluções Existentes

Plataforma 2009

Clearance

Pontos positivos• Estrutura completa, como engine (MVC)• Confirmação de conta• Recuperação de senha

Pontos negativos• Pouco flexível (apenas model User)• Não modularizado

Plataforma 2009

Authlogic

Pontos positivos• Modelo bem flexível• Criptografia• Magic columns

Pontos negativos• Não é solução completa (MVC) como o Clearance• Trata a sessão como modelo

Plataforma 2009

Nossa proposta

Plataforma 2009

Devise

Pontos positivos• Rack based (via Warden): Rails, Metal, Sinatra• Solução completa (MVC), como engine• Múltiplos roles (logar como admin e user)• Modular e flexível

Pontos negativos• Pouca base instalada• Menos de 10 watchers no github

Plataforma 2009

class User < ActiveRecord::Base devise :authenticableend

Plataforma 2009

class User < ActiveRecord::Base devise :confirmableend

Plataforma 2009

class User < ActiveRecord::Base devise :recoverableend

Plataforma 2009

class User < ActiveRecord::Base devise :validatableend

Plataforma 2009

class User < ActiveRecord::Base devise :allend

Plataforma 2009

...tem mais coisa vindo

Plataforma 2009

Proteção contra Brute Force

self.attempts_count = 10self.attempts_timeframe = 2.hours

Plataforma 2009

Remember me

self.remember_me = 2.weeks

Plataforma 2009

Migratable

create_table :users do |t| t.authenticable t.confirmableend

Plataforma 2009

Magic colums

self.login_countself.last_request_atself.last_login_ip

Plataforma 2009

github.com/plataformatec/devise

github.com/plataformatec/devise_example

blog.plataformatec.com.br