nomlab / camome

CAMOME MOtivates ME
1 stars 11 forks source link

Create skeleton code to get OAuth token for outer services #40

Closed HiromuIshikawa closed 8 years ago

HiromuIshikawa commented 8 years ago

39 と #32 に対する PR である.

変更点

以下の変更を行った.

  1. ユーザの編集画面に password を入力するフィールドを追加
  2. ユーザの初回認証時に MasterAuthInfo を作成
  3. 暗号化したパスワードを MasterAuthInfo の encrypted_pass に保存

    今後の課題

    • Token を Calendar_Auth_Info として保存する
    • 複数人に同時に招待メールを送信
    • ナビゲーションバーの右上を Google ライクにする
ikeda-yuko commented 8 years ago

token と refresh_token を CalendarAuthInfo に保存するために,以下の2つを行った.

理由

これまでは,Googleアカウントでログインしたときの認証情報から, token と refresh_token を抜き出し,CalendarAuthInfo に保存する予定であった. しかし,この方法には以下の問題がある.

このため,ログイン時とは別に,アプリケーションを認証するページを作成した.

ページ作成について

作成したページは以下の通りである.

/users/edit/profile では,ニックネーム,メールアドレス,およびパスワードの設定が可能である. /users/edit/applicationsは,特定のアプリケーションの認証情報の設定が可能(になる予定)である. これは,GitHub の Settings の Authorized applications をイメージし作成した. /users/edit/applicationsの利用イメージは以下の通りである.

認証後の処理について

これまでは,stateパラメータに,invitation_token があるか否かで以下の2つの処理を分岐させていた

これをアプリケーション認証時

今後の課題

CalendarAuthInfoに関する課題

アカウント管理に関する課題

HiromuIshikawa commented 8 years ago

認証後の処理について

ログイン時のstateパラメータに"login"を設定するように変更した.

タイミング state token
招待時 "invitation" invitation_token
アプリケーション認証時 "application" camome で生成した token
ログイン時 "login" なし