Skip to content
master
Switch branches/tags
Go to file
Code
This branch is 30 commits ahead of andreaseger:master.

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Sinatra plugin that allows authentication against portier, the successor for Persona. Like Persona, this lets you verify the email identity of a user.

To be a drop-in replacement, the code keeps using the browserid namespace.


To learn more, read about portier.

Note that logins are not done from within a form on your site -- you provide a login form, and that will start up the login flow and redirect back to your main page.

How to get started

Install the gem sinatra-portier:

gem install sinatra-portier

Then use it in your code:

require 'sinatra'
require 'sinatra/browserid'


register Sinatra::BrowserID

set :sessions, true
# Disabling origin-check is needed to make webkit-browsers like Chrome work. 
# Behind a proxy you will also need to disable :remote_token, regardless for which browser.
set :protection, except: [:http_origin] 
get '/' do
    if authorized?
        "Welcome, #{authorized_email}"
    else
        render_login_button
    end
end

get '/secure' do
    authorize!                 # require a user be logged in

    authorized_email   # browserid email
end

get '/logout' do
    logout!

    redirect '/'
end

See the rdoc for more details on the helper functions. For a functioning example app, start the app in the example directory:

bundle install
bundle exec rackup -p PORT

Available sinatra settings:

  • :browserid_url: If you're using an alternate auth provider other than https://broker.portier.io
  • :browserid_login_url: URL users get redirected to when the authorize!(redirect: nil) helper is called and a user is not logged in. redirect is an optional parameter to set the redirect target on the function call instead.
  • :browserid_button_class: Css class of the login button
  • :browserid_button_text: Text of the login button

About

Portier auth extension for Sinatra

Resources

Releases

No releases published

Packages

No packages published

Languages