開発実装 #18
Lunatic1998 さんが約1年前に更新
#### 概要 ##### `config > routes.rb` - URIを指定した際に、コントローラと実行されるアクションを明記している。 ``` # GET /signup を実行すると、SessionContollerのsignupメソッドが実行 # ユーザーが未ログイン時に、新規登録フォームを表示させたい時に実行される。 + get '/sign_up', as: 'sign_up', to: 'sessions#signup' # GET /signin を実行すると、SessionContollerのsigninメソッドが実行 # ユーザーが未ログイン時に、ログインフォームを表示させたい時に実行される。 + get '/sign_in', as: 'signin', to: 'sessions#signin' ``` ##### `controller > session_contoller.rb` ``` class SessionsController < ApplicationController # ログイン時に実行されるアクション def signin return "sign_in" redirect_to cognito_signin_url end # 新規登録時に実行されるアクション def sign_up return "sign_up" redirect_to cognito_signup_url end ・・・省略(*1) end ``` - 省略した(*1)の内容を以下に明記。 ``` # 事前に設定したCognitoのクライアントIDを指定 def cognito_signin_url CognitoUrls.login_uri(ENV['AWS_COGNITO_APP_CLIENT_ID'], signin_redirect_uri) end def cognito_signup_url CognitoUrls.signup_uri(ENV['AWS_COGNITO_APP_CLIENT_ID'], signin_redirect_uri) end def signin_redirect_uri return "/auth/sign_in?code=xxxxxxxxxxxxxxxx" end ``` #### パス ``` root@f71fcb252f72:/app# rails routes Prefix Verb URI Pattern Controller#Action root GET / application#hello sign_up GET /sign_up(.:format) sessions#signup sign_in GET /sign_in(.:format) sessions#signin ```