2

Lumen で laravel/socialite を使用して、Linkedin へのソーシャル ログインを実装しようとしています。最初のログインステップのコントローラーは次のとおりです。

  public function loginLinkedin()
  {
    return Socialite::driver('linkedin')->redirect();
  }

資格情報は .env 構成ファイルに保存されます。

LINKEDIN_ID=123whatever
LINKEDIN_SECRET=123whatever
LINKEDIN_URL=http://localhost/linkedin

リンクにアクセスすると、コントローラーによって Linkedin にリダイレクトされますが、次のような赤いバッジが表示されるだけです。

クライアント コードがありません。続行するには、クライアント コードを入力する必要があります。

laravel/socialite が .env ファイルから資格情報を取得できないと思われます。私は何かが恋しいですか?

これは、Lumen に関連する一般的な問題のようです。通常、「config/blabla.php」構成ファイルを含む多くの Laravel パッケージを目にしますが、Lumen でそのような構成を安全に実装する方法がわかりません。

4

2 に答える 2

4

ジョセフの答えのおかげで、新しいマネージャーを書くことなく、解決策を思いつきました。

マイクロフレームワークは通常、すべての構成データを .env ファイルから取得するため、要点は Lumen の構成ファイルを読み取る機能に関するものでした。

最初のステップは、 getenv()コマンドを使用して、.env ファイルから Linkedin 構成を取得するために、/vendor/laravel/socialite/src の下にある元の SocialiteManager.php を編集することでした。出来た!Linkedin 認証フォームに到達し、適切にログインでき、コールバック URL に戻りました。

問題は、SocialiteManager.php の編集を削除して元のままにすることでした。Linkedin 構成が保存されている /config/services.php ファイルを読み取るにはどうすればよいですか?

次の投稿が助けになりました: https://laracasts.com/discuss/channels/lumen/cant-get-config-data-in-lumen

以下の手順に従って、通常の Laravel 構成ファイル (/config の下) をロードできることが示されています。

  • /bootstrap/app.php で、次の行のコメントを解除 (または追加) します。

    $app->register('App\Providers\AppServiceProvider');

  • app/Providers/AppServiceProvider.php で、register()関数を入力します。

    public function register() { $this->app->configure('services'); }

そして今、それは機能します!

于 2015-10-15T19:26:30.193 に答える
0

当社のSocialite Providerは、適切な構成ですぐに使用できる Lumen をサポートしています。環境変数を直接解析します.env

于 2016-05-24T18:55:12.693 に答える