Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Facebook認証で登録したUserが後からパスワードを設定できるようにする #8

Merged
merged 11 commits into from
May 17, 2020

Conversation

kudojp
Copy link
Owner

@kudojp kudojp commented Apr 22, 2020

このPRはfacebook認証によるサインインとログイン機能の追加 #4の続きである。

仕様

  • 現在のprofile更新ページを2つに分ける。

    • :name, :is_male, :height, :weight, :commentを更新するページ。ここではパスワードの入力を求めない。
    • passwordを更新するページ。ここではcurrent password, new password, new pass confirmationの3つの入力が求められる。ただし、facebook認証で登録して、まだpasswordを登録していないuserは、current passwordの入力を求められない。
  • ヘッダーのドロップダウンメニューを以下にする

    • My Profile
    • Update Profile(→押すとprofile更新ページへ)
    • Update Password(→押すとpassword更新ページへ)
    • Log Out (→押すと「ログアウトしますか?」とalart表示される)
    • Sign Out (→押すとSignOut確認ページへと飛ばされる)
  • facebook認証したuserが後からpasswordを設定することができるようにする

設計

今回の機能で使われるエンドポイント

  • profile更新ページ
    /profile/edit GET users#edit_profile
  • profile更新のPUT,POST先のendpoint
    /profile PUT,POST users#update_profile
  • password更新のためのページ(passwordの設定有無でpageを出し分ける)
    /password/edit GET users#edit_password
  • password更新のためのPUT,POST先のendpoint
    /password PUT,POST users#update_password
  • userのログアウトのためのエンドポイント
    /sign_out DELETE devise/sessions#destroy
  • 退会の確認ページ
    /cancellation/confirmation GET users#cancel_confirmation
  • 退会時のdeleteリクエストの送信先
    /cancelletion DELETE users#destroy

除去されるエンドポイント

  • 元来userのプロフィール変更と退会の機能を提供していたページ
    /users/edit GET devise/registrations#edit (未削除)
  • 元来userのプロフィールとパスワード変更のPUT,POST先のエンドポイント
    /users PUT,POST devise/registrations#update (未削除)

このPRのdev環境

TODO
devでDBのマイグレーションがうまくいかないのでstage環境にpushした。
https://diet-app-2020.herokuapp.com

機能の仕様

今後のPRで対応すること

  • password認証したuserが後からauth認証を加えることができるようにする

質問

@kudojp kudojp temporarily deployed to diet-app-pip-topic-prof-1z5bfg April 22, 2020 15:06 Inactive
@kudojp kudojp self-assigned this Apr 25, 2020
@kudojp
Copy link
Owner Author

kudojp commented Apr 25, 2020

今回のPRで(上記の通り)2つのエンドポイントを削除する必要がある。特に後者を消さないとemailとaccount_idが変更できてしまう。

  • 元来userのプロフィール変更と退会の機能を提供していたページ
    /users/edit GET devise/registrations#edit
  • 元来userのプロフィールとパスワード変更のPUT,POST先のエンドポイント
    /users PUT,POST devise/registrations#update

これを実現するため、これに習って、config/routes.rbにおいて、

  devise_for :users, skip: [:registrations], controllers: { omniauth_callbacks: 'users/omniauth_callbacks' }

  devise_scope :user do
    get 'users/cancel', to: 'devise/registration#cancel', as: :cancel_user_registration
    get '/users/sign_up', to: 'devise/registration#new', as: :new_user_registration
    delete '/users', to: 'devise/registrations#destroy', as: :user_registration
    post '/users', to: 'devise/registration#create'
  end

実質これによってこれらのエンドポイントが取り除かれたことになる。

               edit_user_registration GET      /users/edit(.:format)                                                                    devise/registrations#edit
                    user_registration PATCH    /users(.:format)                                                                         devise/registrations#update
                                      PUT      /users(.:format)                                                                         devise/registrations#update

@kudojp kudojp temporarily deployed to diet-app-pip-topic-prof-1z5bfg April 25, 2020 07:01 Inactive
@kudojp kudojp force-pushed the topic-profile-edition-page branch from 7606d72 to c2d5c1c Compare April 25, 2020 08:47
@kudojp kudojp temporarily deployed to diet-app-pip-topic-prof-1z5bfg April 25, 2020 08:47 Inactive
@kudojp kudojp force-pushed the topic-profile-edition-page branch from c2d5c1c to 3574e52 Compare April 25, 2020 09:26
@kudojp kudojp temporarily deployed to diet-app-pip-topic-prof-1z5bfg April 25, 2020 09:27 Inactive
@kudojp kudojp temporarily deployed to diet-app-pip-topic-prof-1z5bfg April 25, 2020 09:32 Inactive
@kudojp kudojp temporarily deployed to diet-app-pip-topic-prof-1z5bfg April 25, 2020 10:02 Inactive
@kudojp kudojp force-pushed the topic-profile-edition-page branch from 4d2546e to 4b872a0 Compare April 26, 2020 03:40
@kudojp kudojp temporarily deployed to diet-app-pip-topic-prof-1z5bfg April 26, 2020 03:40 Inactive
@kudojp kudojp temporarily deployed to diet-app-2020 April 26, 2020 04:14 Inactive
@kudojp kudojp force-pushed the topic-profile-edition-page branch from 4b872a0 to 1b6f287 Compare April 26, 2020 04:45
@kudojp kudojp temporarily deployed to diet-app-pip-topic-prof-1z5bfg April 26, 2020 04:45 Inactive
@kudojp kudojp temporarily deployed to diet-app-2020 April 26, 2020 04:45 Inactive
@kudojp kudojp force-pushed the topic-profile-edition-page branch from 1b6f287 to 1e49df1 Compare April 26, 2020 04:57
@kudojp kudojp temporarily deployed to diet-app-pip-topic-prof-1z5bfg April 26, 2020 04:58 Inactive
@kudojp kudojp force-pushed the topic-profile-edition-page branch from 1e49df1 to 8ee49f4 Compare April 26, 2020 05:00
@kudojp kudojp temporarily deployed to diet-app-pip-topic-prof-1z5bfg April 26, 2020 05:00 Inactive
@kudojp kudojp temporarily deployed to diet-app-2020 April 26, 2020 05:00 Inactive
@kudojp kudojp force-pushed the topic-profile-edition-page branch from 8ee49f4 to 0a626cd Compare April 26, 2020 05:11
@kudojp kudojp temporarily deployed to diet-app-pip-topic-prof-1z5bfg April 26, 2020 05:11 Inactive
@kudojp kudojp temporarily deployed to diet-app-2020 April 26, 2020 05:17 Inactive
@kudojp kudojp temporarily deployed to diet-app-pip-topic-food-bgt2gc April 26, 2020 06:14 Inactive
@kudojp kudojp force-pushed the topic-profile-edition-page branch from 0a626cd to 9e6dd40 Compare April 26, 2020 08:35
@kudojp kudojp temporarily deployed to diet-app-pip-topic-prof-1z5bfg April 26, 2020 08:35 Inactive
@kudojp kudojp temporarily deployed to diet-app-2020 April 26, 2020 08:41 Inactive
@kudojp kudojp temporarily deployed to diet-app-pip-topic-food-bgt2gc April 26, 2020 09:05 Inactive
@kudojp kudojp temporarily deployed to diet-app-pip-topic-prof-1z5bfg May 3, 2020 14:56 Inactive
@kudojp kudojp temporarily deployed to diet-app-2020 May 3, 2020 14:56 Inactive
Copy link

@azumag azumag left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

よさげです。問題ありそうなところは見当たらなかった

@kudojp kudojp temporarily deployed to diet-app-pip-topic-prof-1z5bfg May 17, 2020 13:45 Inactive
@kudojp kudojp marked this pull request as ready for review May 17, 2020 13:46
@kudojp kudojp merged commit 0aaf0d6 into master May 17, 2020
@kudojp kudojp deleted the topic-profile-edition-page branch May 17, 2020 13:47
@kudojp kudojp restored the topic-profile-edition-page branch May 18, 2020 12:48
@kudojp kudojp deleted the topic-profile-edition-page branch May 18, 2020 12:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants