T-Id OAuth strategy for OmniAuth

Ruby

sponsored by foxford

Getting Started

Prerequisites

This gem require OmniAuth

But you no need add gem 'omniauth'.

This gem already added.

Installation

gem "omniauth-tinkoff-id"

Join to TinkoffId

Usage

  1. Add to omniauth.rb tinkoff_id provider:

     Rails.application.config.middleware.use OmniAuth::Builder do
    provider :tinkoff_id, ENV['TINKOFF_CLIENT_ID'], ENV['TINKOFF_CLIENT_SECRET']
     end
  2. Add route

     get '/auth/:provider/callback', to: 'sessions#create'
  3. Create SessionController

note: This controller only as example how to create user by callback
    class SessionsController < ApplicationController
      def create
        @user = User.find_or_create_from_auth_hash(auth_hash)
        redirect_to '/'
      end

      protected

      def auth_hash
        request.env['omniauth.auth']
      end
    end

Contributing

  1. Fork it (https://github.com/foxford/omniauth-tinkoff-id/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am ‘Add some feature’)
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License.

Acknowledgments

  • https://developer.tbank.ru/docs/intro/partner/tid