質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.61%

  • Laravel 5

    1811questions

    Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

  • Slack

    175questions

    Slackは、Tiny Speckという企業からリリースされたコミュニケーションツールです。GoogleDriveやGitHubなど、さまざまな外部サービスと連携することができます。

Laravelでユーザーごとのslackトークンを読み込みたい

解決済

回答 1

投稿

  • 評価
  • クリップ 1
  • VIEW 252

marogoma

score 3

前提・実現したいこと

laravel-slack-api((https://github.com/vluzrmos/laravel-slack-api))を利用し、
自作のslack投稿アプリを作成しました。
config/services.php内の

'slack' => [
        'token' => env('SLACK_TOKEN'),
    ]

という記述で.env内に記述したslackトークンを読み込み、slackと連携しております。

ここで、自分以外の人間がこのアプリを利用する場合にトークンの保存場所及びその取得方法で悩んでおります。
保存方法としては以下の2つが考えられますが、セキュリティの関係上②での実装が望ましいかと考えています。
①DBにユーザーIDとトークンを紐付けて保持し、トークンを参照する。
②クッキーにトークンを保持し、投稿時に参照する。

②を実装する際の記述としては

補足情報

ユーザー認証にはLaravel標準のAuthを利用しています。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

全体が分からないとはっきりしませんが基本的にはDBに保存でいいはずですよ。
ユーザーの投稿行動時のみならクッキーでよくても他に自動で投稿するならDBに保存しておくしかない。

もしくはIncoming Webhookを入力してもらう。
Laravelの通知でもこの方法。
https://readouble.com/laravel/5.5/ja/notifications.html#slack-notifications

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/01/02 18:45

    回答ありがとうございます。DBに保存する方向で検討します。
    追加の質問になってしまうのですが、
    laravelのconfig/services.phpにDBから取ってきた値を渡したいのですが、どのようにすればよいでしょうか?

    config/services.phpに
    use Illuminate\Support\Facades\DB;

    'slack' => [
    'token' => DB::select('SELECT slack_token FROM (DB名) where id = 1;'),
    ]
    という追記をしましたが、「A facade root has not been set」というエラーが出てしまいました。

    キャンセル

  • 2018/01/03 00:12

    config::setを使って解決しました。ありがとうございました。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.61%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    slack botを使おうとして

    現在windowsでのコマンドプロンプトで行おうとしており、http://toach.click/slack-botkit/のページに沿って導入しようとしていましたが,token=

  • 受付中

    Python Slackbotで画像の投稿の仕方

    前提・実現したいこと Pythonを使用したSlackbotの作成を行なっています。 TLからワードを拾って発言する、アイコンや名前を変えるところまではできたのですが、 画像

  • 解決済

    スラックのボット作成

    スラックにボット機能を作成しようと考えています。 実現したいことは、 1,あるところからメッセージが入ってくる(例えば巨人対阪神の結果は、4対0で巨人の勝ち) 2,1のメ

  • 受付中

    slackbotを作成したい

    前提・実現したいこと slackbotを作成したいです.slackbotというライブラリはインストールできています. 発生している問題・エラーメッセージ python run.

  • 解決済

    C#でapiでslackに投稿したいです。

    こんにちは。  Windows10でC#のアプリケーションを開発しています。  Visual Studio 2017 Communityを使っています。  前提・実現したいこと

  • 解決済

    golangでslackbot作りたいのですがよくわかりません

    環境 言語: go 1.8.3 開発環境: gogland slackAPI: https://github.com/nlopes/slack したいこと golangでsla

  • 解決済

    Node.jsでSlackbotを作る-うまくいかない

    Win8.1PCで、Node.jsでSlackbotを作るということで、以下のページを参考にしたのですが、動作がうまく行きませんでした http://mechanic.pilotz

  • 解決済

    Google Apps Script: 適切にSlackに値を渡せない

    はじめに Google Apps Scriptを使って、Slackで検索ワードを打つとスプレッドシートから 該当する列を取り出してきて同じチャンネルに返す、というプログラムを作り

同じタグがついた質問を見る

  • Laravel 5

    1811questions

    Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

  • Slack

    175questions

    Slackは、Tiny Speckという企業からリリースされたコミュニケーションツールです。GoogleDriveやGitHubなど、さまざまな外部サービスと連携することができます。