omniauth-bitbucket-0.0.2/0000755000076400007640000000000012543243070014343 5ustar pravipraviomniauth-bitbucket-0.0.2/spec/0000755000076400007640000000000012543243070015275 5ustar pravipraviomniauth-bitbucket-0.0.2/spec/spec_helper.rb0000644000076400007640000000062712543243070020120 0ustar pravipravi$:.unshift File.expand_path('..', __FILE__) $:.unshift File.expand_path('../../lib', __FILE__) require 'simplecov' SimpleCov.start require 'rspec' require 'rack/test' require 'webmock/rspec' require 'omniauth' require 'omniauth-bitbucket' RSpec.configure do |config| config.include WebMock::API config.include Rack::Test::Methods config.extend OmniAuth::Test::StrategyMacros, :type => :strategy end omniauth-bitbucket-0.0.2/spec/omniauth/0000755000076400007640000000000012543243070017121 5ustar pravipraviomniauth-bitbucket-0.0.2/spec/omniauth/strategies/0000755000076400007640000000000012543243070021273 5ustar pravipraviomniauth-bitbucket-0.0.2/spec/omniauth/strategies/bitbucket_spec.rb0000644000076400007640000000017212543243070024606 0ustar pravipravirequire 'spec_helper' describe OmniAuth::Strategies::Bitbucket do it 'should do some testing' do pending end end omniauth-bitbucket-0.0.2/examples/0000755000076400007640000000000012543243070016161 5ustar pravipraviomniauth-bitbucket-0.0.2/examples/test.rb0000644000076400007640000000104312543243070017463 0ustar pravipravibegin require 'sinatra' require 'omniauth' require 'omniauth-bitbucket' rescue LoadError require 'rubygems' require 'sinatra' require 'omniauth' require 'omniauth-bitbucket' end use Rack::Session::Cookie use OmniAuth::Builder do provider :bitbucket, ENV['BITBUCKET_KEY'], ENV['BITBUCKET_PAIR'] end get '/' do <<-HTML Sign in with Bitbucket HTML end get '/auth/:name/callback' do auth = request.env['omniauth.auth'] # do whatever you want with the information! puts auth.inspect end omniauth-bitbucket-0.0.2/README.md0000644000076400007640000000336112543243070015625 0ustar pravipravi# OmniAuth Bitbucket This is the OmniAuth strategy for authenticating to [Bitbucket](https://bitbucket.org). To use it, you'll need to signup and create a new application or use your existing OAuth consumer and secret keys. ## Install Add dependency to your Gemfile: ``` gem 'omniauth-bitbucket' ``` Or install manually: ``` gem install omniauth-bitbucket ``` ## Basic Usage ```ruby use OmniAuth::Builder do provider :bitbucket, ENV['BITBUCKET_KEY'], ENV['BITBUCKET_SECRET'] end ``` If using Rails, add an initializer `config/initializers/omniauth.rb`: ```ruby Rails.application.config.middleware.use OmniAuth::Builder do provider :bitbucket, 'BITBUCKET_KEY', 'BITBUCKET_SECRET' end ``` ## License Copyright (c) 2011-2013 Dingding Ye. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. omniauth-bitbucket-0.0.2/Gemfile0000644000076400007640000000024212543243070015634 0ustar pravipravisource "https://rubygems.org" gemspec group :development, :test do gem 'guard' gem 'guard-rspec' gem 'guard-bundler' gem 'rb-fsevent' gem 'growl' end omniauth-bitbucket-0.0.2/metadata.yml0000644000076400007640000001057012543243070016651 0ustar pravipravi--- !ruby/object:Gem::Specification name: omniauth-bitbucket version: !ruby/object:Gem::Version version: 0.0.2 prerelease: platform: ruby authors: - Dingding Ye autorequire: bindir: bin cert_chain: [] date: 2013-11-25 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency name: omniauth requirement: !ruby/object:Gem::Requirement none: false requirements: - - ~> - !ruby/object:Gem::Version version: '1.1' type: :runtime prerelease: false version_requirements: !ruby/object:Gem::Requirement none: false requirements: - - ~> - !ruby/object:Gem::Version version: '1.1' - !ruby/object:Gem::Dependency name: omniauth-oauth requirement: !ruby/object:Gem::Requirement none: false requirements: - - ~> - !ruby/object:Gem::Version version: '1.0' type: :runtime prerelease: false version_requirements: !ruby/object:Gem::Requirement none: false requirements: - - ~> - !ruby/object:Gem::Version version: '1.0' - !ruby/object:Gem::Dependency name: multi_json requirement: !ruby/object:Gem::Requirement none: false requirements: - - ~> - !ruby/object:Gem::Version version: '1.7' type: :runtime prerelease: false version_requirements: !ruby/object:Gem::Requirement none: false requirements: - - ~> - !ruby/object:Gem::Version version: '1.7' - !ruby/object:Gem::Dependency name: rspec requirement: !ruby/object:Gem::Requirement none: false requirements: - - ~> - !ruby/object:Gem::Version version: '2.7' type: :development prerelease: false version_requirements: !ruby/object:Gem::Requirement none: false requirements: - - ~> - !ruby/object:Gem::Version version: '2.7' - !ruby/object:Gem::Dependency name: rack-test requirement: !ruby/object:Gem::Requirement none: false requirements: - - ! '>=' - !ruby/object:Gem::Version version: '0' type: :development prerelease: false version_requirements: !ruby/object:Gem::Requirement none: false requirements: - - ! '>=' - !ruby/object:Gem::Version version: '0' - !ruby/object:Gem::Dependency name: simplecov requirement: !ruby/object:Gem::Requirement none: false requirements: - - ! '>=' - !ruby/object:Gem::Version version: '0' type: :development prerelease: false version_requirements: !ruby/object:Gem::Requirement none: false requirements: - - ! '>=' - !ruby/object:Gem::Version version: '0' - !ruby/object:Gem::Dependency name: webmock requirement: !ruby/object:Gem::Requirement none: false requirements: - - ! '>=' - !ruby/object:Gem::Version version: '0' type: :development prerelease: false version_requirements: !ruby/object:Gem::Requirement none: false requirements: - - ! '>=' - !ruby/object:Gem::Version version: '0' - !ruby/object:Gem::Dependency name: rake requirement: !ruby/object:Gem::Requirement none: false requirements: - - ! '>=' - !ruby/object:Gem::Version version: '0' type: :development prerelease: false version_requirements: !ruby/object:Gem::Requirement none: false requirements: - - ! '>=' - !ruby/object:Gem::Version version: '0' description: OmniAuth strategy for Bitbucket. email: - yedingding@gmail.com executables: [] extensions: [] extra_rdoc_files: [] files: - .gitignore - Gemfile - Guardfile - README.md - Rakefile - examples/test.rb - lib/omniauth-bitbucket.rb - lib/omniauth-bitbucket/version.rb - lib/omniauth/strategies/bitbucket.rb - omniauth-bitbucket.gemspec - spec/omniauth/strategies/bitbucket_spec.rb - spec/spec_helper.rb homepage: https://github.com/sishen/omniauth-bitbucket licenses: [] post_install_message: rdoc_options: [] require_paths: - lib required_ruby_version: !ruby/object:Gem::Requirement none: false requirements: - - ! '>=' - !ruby/object:Gem::Version version: '0' required_rubygems_version: !ruby/object:Gem::Requirement none: false requirements: - - ! '>=' - !ruby/object:Gem::Version version: '0' requirements: [] rubyforge_project: rubygems_version: 1.8.23 signing_key: specification_version: 3 summary: OmniAuth strategy for Bitbucket. test_files: - spec/omniauth/strategies/bitbucket_spec.rb - spec/spec_helper.rb has_rdoc: omniauth-bitbucket-0.0.2/omniauth-bitbucket.gemspec0000644000076400007640000000212312543243070021504 0ustar pravipravi# -*- encoding: utf-8 -*- $:.push File.expand_path("../lib", __FILE__) require "omniauth-bitbucket/version" Gem::Specification.new do |s| s.name = "omniauth-bitbucket" s.version = Omniauth::Bitbucket::VERSION s.authors = ["Dingding Ye"] s.email = ["yedingding@gmail.com"] s.homepage = "https://github.com/sishen/omniauth-bitbucket" s.summary = %q{OmniAuth strategy for Bitbucket.} s.description = %q{OmniAuth strategy for Bitbucket.} s.files = `git ls-files`.split("\n") s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n") s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) } s.require_paths = ["lib"] # specify any dependencies here; for example: s.add_dependency 'omniauth', '~> 1.1' s.add_dependency 'omniauth-oauth', '~> 1.0' s.add_dependency 'multi_json', '~> 1.7' s.add_development_dependency 'rspec', '~> 2.7' s.add_development_dependency 'rack-test' s.add_development_dependency 'simplecov' s.add_development_dependency 'webmock' s.add_development_dependency 'rake' end omniauth-bitbucket-0.0.2/lib/0000755000076400007640000000000012543243070015111 5ustar pravipraviomniauth-bitbucket-0.0.2/lib/omniauth/0000755000076400007640000000000012543243070016735 5ustar pravipraviomniauth-bitbucket-0.0.2/lib/omniauth/strategies/0000755000076400007640000000000012543243070021107 5ustar pravipraviomniauth-bitbucket-0.0.2/lib/omniauth/strategies/bitbucket.rb0000644000076400007640000000262512543243070023415 0ustar pravipravirequire 'omniauth-oauth' module OmniAuth module Strategies class Bitbucket < OmniAuth::Strategies::OAuth # This is where you pass the options you would pass when # initializing your consumer from the OAuth gem. option :client_options, { :site => 'https://bitbucket.org', :request_token_path => '/api/1.0/oauth/request_token', :authorize_path => '/api/1.0/oauth/authenticate', :access_token_path => '/api/1.0/oauth/access_token' } # These are called after authentication has succeeded. If # possible, you should try to set the UID without making # additional calls (if the user id is returned with the token # or as a URI parameter). This may not be possible with all # providers. uid { raw_info['username'] } info do { :name => "#{raw_info['first_name']} #{raw_info['last_name']}", :avatar => raw_info['avatar'], :email => raw_info['email'] } end def raw_info @raw_info ||= begin ri = MultiJson.decode(access_token.get('/api/1.0/user').body)['user'] email = MultiJson.decode(access_token.get('/api/1.0/emails').body).find { |email| email['primary'] } ri.merge!('email' => email['email']) if email ri end end end end end omniauth-bitbucket-0.0.2/lib/omniauth-bitbucket.rb0000644000076400007640000000011512543243070021231 0ustar pravipravirequire "omniauth-bitbucket/version" require "omniauth/strategies/bitbucket" omniauth-bitbucket-0.0.2/lib/omniauth-bitbucket/0000755000076400007640000000000012543243070020707 5ustar pravipraviomniauth-bitbucket-0.0.2/lib/omniauth-bitbucket/version.rb0000644000076400007640000000010312543243070022713 0ustar pravipravimodule Omniauth module Bitbucket VERSION = "0.0.2" end end omniauth-bitbucket-0.0.2/Rakefile0000644000076400007640000000032712543243070016012 0ustar pravipravi#!/usr/bin/env rake require "bundler/gem_tasks" require 'rspec/core/rake_task' desc 'Default: run specs.' task :default => :spec desc "Run specs" RSpec::Core::RakeTask.new desc 'Run specs' task :default => :spec omniauth-bitbucket-0.0.2/Guardfile0000644000076400007640000000037412543243070016174 0ustar pravipraviguard 'rspec', :version => 2 do watch(%r{^spec/.+_spec\.rb$}) watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" } watch('spec/spec_helper.rb') { "spec" } end guard 'bundler' do watch('Gemfile') watch('omniauth-github.gemspec') end omniauth-bitbucket-0.0.2/.gitignore0000644000076400007640000000005212543243070016330 0ustar pravipravi*.gem .bundle Gemfile.lock pkg/* .DS_Store