ご閲覧いただきましてありがとうございます。
アプリケーションに登録しているユーザーがSlack認証
をすることで、各ユーザーが指定したチームに向けて通知を飛ばせる機能を加えたいと考えています。
現在、下記のエラーで困っています。
OAuth Error: Invalid client_id parameter
URLはこちらです。
https://slack.com/oauth/authorize?client_id=XXXXXXXXXXX&scope=bot%2Cusers%3Aread.email%2Ccommands%2Cusers%3Aread&state=XXXXXXXXXXXXX&tracked=1
最初に、omniauth_slack
のgemを使っていたときも同じエラーが出ており困っています。。
client_id
は登録したSlackアプリのもので問題ありません。
ソースコード
app/views/home/index.html.erb
Ruby
1<%= link_to "Sign in with Slack", slack_activate_path %>
app/controllers/slack_controller.rb
Ruby
1class SlackController < ApplicationController 2 def activate 3 oauth_state = "XXXXXXXXXXXXX" 4 uri = URI('https://slack.com/oauth/authorize') 5 uri.query = { 6 client_id: Rails.application.credentials[:slack][:client_id], 7 scope: 'bot,users:read.email,commands,users:read', 8 state: oauth_state, 9 }.to_query 10 11 redirect_to uri.to_s 12 end 13 14 def callback 15 end 16end
※ oauth_state
は任意という認識です。
config/routes.eb
Ruby
1Rails.application.routes.draw do 2 root 'home#index' 3 4 match '/slack/activate', to: 'slack#activate', via: 'get' 5 match '/slack/callback', to: 'slack#callback', via: 'get' 6 7 # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html 8end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。