2016-12-22 6 views
3

oauthハンドシェイクを実行する有効なコールバックURLを取得するために、ec2 instanceを作成しないようにする方法を模索しています。AWSラムダを使用してoauth 2.0トークンを要求することはできますか?

私は、リモートAPIに接続するためにLambdaを使用する予定が、私はわずか6時間有効である、最初のトークンを取得できるようにする必要があります。

Lambda機能によってハンドシェイクを行う方法はありますか?

答えて

4

私はLambdaと一緒にAPI Gatewayと考えて良い解決策を提供します。 APIゲートウェイを使用すると、公開されている公開アクセス可能なHTTPエンドポイントを作成できます。 HTTPメソッドをラムダ関数呼び出しにマップする特定の特定の 'リソース'を定義できます。

私は特にOAuth 2に精通していませんが、私はこのようなものを想像しています:APIゲートウェイで、あなたのラムダ関数を呼び出すGETメソッドでリソース '/コールバック'を定義してください。

次のようなものになり、アプリケーションのコールバックURIとしてAPIゲートウェイエンドポイントを登録します。そうすることによって

https://c1bql2cdxy.execute-api.us-east-1.amazonaws.com/callback

を、リモートサービスは、許可を読むことができますラムダ関数を呼び出します1)トークンを他のサービスによる将来の使用(および再利用)のためにデータベースに格納すること、2)同じラムダ関数内で直接サービスを呼び出すことなどを問わず、必要に応じてそれを使用し、それを使用する。

+0

ありがとう編集と答えのための多くの、有望な音。私はすべてをテストし、正しいものとしてマークするために戻ってきます。 – JordanBelf

+0

こんにちは@rumdrums、oauth 2のやり方は、まずGETリクエストを送信して、コードを取得し、そのコードを秘密鍵、アプリIDなどの他のデータとともにPOSTリクエストで使用することです。APIを理解しようとしていますゲートウェイフロー。 2つの異なるリソースを正しく作成する必要がありますか?そして、私のラムダ関数でそれらを呼び出す。申し訳ありませんが、これが意味をなさない場合、私はそれがどのように動作するかを理解しようとしています。もう一度ありがとう – JordanBelf

+1

@JordanBelf私はあなたが間違いなく正しい道にいると思います。この質問はプロセスのコールバックコールバック部分に限られていたため、最初の部分についてはあまり気にしませんでした。ユーザーがアプリケーションから最初の承認リンクをリクエストしたところですが、ユーザーがこのリンクを受け取るためにアクセスできる、異なるURLでアクセス可能なラムダサービス。そこから、ユーザーは認可サービスで認証され、その時点でコールバックURLにリダイレクトされます。それは理にかなっていますか? – rumdrums

関連する問題