Sha256: 4ff0f22109c45f59d49241ee24550d3a92dea61342a2b4ada690ac6f417b6454

Contents?: true

Size: 1.21 KB

Versions: 1

Compression:

Stored size: 1.21 KB

Contents

require 'bundler/setup'
require 'sinatra/base'
require 'omniauth-shapeways'
require 'reshape'

# Get these keys from http://developer.shapeways.com
ENV['SHAPEWAYS_CONSUMER_KEY'] = ''
ENV['SHAPEWAYS_CONSUMER_SECRET'] = ''

# To run this example:
# $ bundle install
# $ rackup -p 9293 config.ru &

class App < Sinatra::Base
  get '/' do
    redirect '/auth/shapeways'
  end

  get '/auth/:provider/callback' do
    auth = request.env['omniauth.auth']
    
    puts '::::'
    puts auth.credentials.token
    puts auth.credentials.secret
    
    client = Reshape::Client.new({
      consumer_token: ENV['SHAPEWAYS_CONSUMER_KEY'], 
      consumer_secret: ENV['SHAPEWAYS_CONSUMER_SECRET'], 
      oauth_token: auth.credentials.token, 
      oauth_secret: auth.credentials.secret, 
      proxy: 'http://localhost:8888'
    })
    
    materials = client.materials
    
    erb "<h1>#{params[:provider]}</h1>
         <pre>#{JSON.pretty_generate(auth)}</pre>
         <pre>#{JSON.pretty_generate(materials)}</pre>"
  end

  get '/auth/failure' do
    MultiJson.encode(request.env)
  end
end

use Rack::Session::Cookie

use OmniAuth::Builder do
  provider :shapeways, ENV['SHAPEWAYS_CONSUMER_KEY'], ENV['SHAPEWAYS_CONSUMER_SECRET']
end

run App.new

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
reshape-0.1.1 examples/config.ru