# -*- coding: utf-8 -*-
require 'sinatra'
require 'omniauth'
require 'omniauth-facebook'
require 'omniauth-google-oauth2'
require 'rack/session/moneta'
require 'dalli'
require 'json'
require 'pp'
# pour du serveur HTTP
set :port, 3000
get '/' do
<<-HTML
Sign in with facebook
Sign in with google
HTML
end
# 1 : premier exerice : installer les gems et exécuter le serveur : ruby server.rb
# exécuter un tunnel ssh : ssh -p `vagrant ssh-config clinux |grep Port |cut -d\ -f4` -L 3000:localhost:3000 -i ~/.vagrant.d/insecure_private_key vagrant@localhost
# ouvrir le navigateur sur le PC sur http://localhost:3000
# 2 : deuxième exercice Décommenter le paragraphe suivant
# relancer le server sinatra
# cliquer sur un des deux "Sign in"
# Configuration de deux fournisseurs OpenIDConnect :
#use OmniAuth::Builder do
# provider :facebook,
# '744089558998268',
# '2cc516df94d76f7c98a33f8ccb6d787f'
# provider :google_oauth2,
# '983852533833-op18spajde1qr43pgak1btknomrp0649.apps.googleusercontent.com',
# 'munS7oemgynqU3blssoCsWKc',{
# name: 'google',
# }
#end
#enable :sessions
#
#get '/auth/:name/callback' do
# auth = request.env['omniauth.auth']
# # do whatever you want with the information!
# session['auth']=auth
# 'Session enregistree pour '+auth['info']['email']
#end
# 3 : décommenter ce qui suit, relancer le serveur
# passer au fichier client.rb
# Partage de session via memcache :
#store = Moneta.new(:MemcachedDalli, serializer: :json)
#
#use Rack::Session::Moneta, store: store, path: '/',
# key: 'anf.session',
# secret: 'cesecretdoitestrunecletrescompliquee',
# domain: 'localhost',
# secure: false
# ##expire_after: 123456