プロジェクト

全般

プロフィール

開発実装 #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 
 ``` 


戻る