開発実装 #15
Lunatic1998 さんが約1年前に更新
#### 概要
- AWS Cognitoへ認証リダイレクトURLを送信し、Cognitoによるサインアップ/ログインが完了するポイントまで実装
- 新規作成したユーザーをDBに更新するなどのアプリ側での実装は本チケットでは対象範囲外とする
#### 対応内容の詳細
- 以下のイシューにて、対応した実装内容の詳細はまとめた。
- サインアップ/ログインAPIの実装
- AWS Cognitoへ受け渡すリダイレクトURLの作成するモジュールの実装
- AWS Cognitoにて、不備があった設定について、Terraformファイルを修正
- 不足していたライブラリのインストール
#### イシュー
- https://gitlab.com/bay1998/Operation-App-Demo/-/issues/11
#### MR
- https://gitlab.com/bay1998/Operation-App-Demo/-/merge_requests/7
#### `lib/cognito_urls.rb`
```
def init(domain, region)
@base_oauth_uri = "https://%s.auth.%s.amazoncognito.com" % [domain, region]
@base_idp_uri = "https://cognito-idp.%s.amazonaws.com" % [region]
end
def jwks_uri(pool_id)
path = "/%s/.well-known/jwks.json" % [pool_id]
URI.join(@base_idp_uri, path).to_s
end
def refresh_token_uri
@base_idp_uri
end
def authorize_uri
URI.join(@base_oauth_uri, AUTHORIZE_PATH).to_s
end
def token_uri
URI.join(@base_oauth_uri, TOKEN_PATH).to_s
end
def login_uri(app_client_id, redirect_uri)
path = "%s?response_type=code&client_id=%s&redirect_uri=%s" %
[LOGIN_PATH, app_client_id, redirect_uri]
URI.join(@base_oauth_uri, path).to_s
end
def signup_uri(app_client_id, redirect_uri)
path = "%s?response_type=code&client_id=%s&redirect_uri=%s" %
[SIGNUP_PATH, app_client_id, redirect_uri]
URI.join(@base_oauth_uri, path).to_s
end
```