Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

omniauth-smarthr

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

omniauth-smarthr

  • 0.1.0
  • Rubygems
  • Socket score

Version published
Maintainers
2
Created
Source

OmniAuth SmartHR

OmniAuth SmartHRはSmartHRとのOAuth連携処理を簡素化するためのOmniAuth strategyです。

インストール

gem 'omniauth-smarthr'

使い方

Rails

OmniAuthをミドルウェアとして登録します。

config/initializers/omniauth.rb:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :smarthr, ENV['SMARTHR_CLIENT_ID'], ENV['SMARTHR_CLIENT_SECRET']
end

SMARTHR_CLIENT_ID 及び SMARTHR_CLIENT_SECRETを取得するにはSmartHR Plus についてをご参照の上、パートナープログラムについてお問い合わせください。

環境変数を用意します。

.env:

# Required
SMARTHR_CLIENT_ID=YOUR_CLIENT_ID
SMARTHR_CLIENT_SECRET=YOUR_CLIENT_SECRET

# Optional
# サンドボックス環境を利用する場合には、サンドボックス環境のエンドポイントを指定してください。
SMARTHR_AUTH_ENDPOINT=SANDBOX_ENVIRONMENT_ENDPOINT

ルーティングとコントローラを用意します。

config/routes.rb:

  get 'auth/:provider/callback', to: 'sessions#create'

app/controllers/sessions_controller.rb:

class SessionsController < ApplicationController
  def create
    user_info = request.env['omniauth.auth']
    raise user_info # 適宜セッション管理を行います。
  end
end

ユーザーを/auth/smarthrに遷移させることでOAuth認可コードフローが開始されます。
OAuth認可コードフローが開始するとアプリケーションとの連携許可を求める認可画面が表示されます。
認可画面で連携を許可するとアプリケーションにリダイレクトされSessions#createが呼び出されます。
Sessions#createrequest.env['omniauth.auth']を参照することでSmartHRから受け取ったユーザー情報(アクセストークン含む)を取得できます。

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/kufu/omniauth-smarthr.

FAQs

Package last updated on 08 Dec 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc