20201228_アウトプット(SNS認証によるログイン機能の実装・オリジナルアプリ)

アプトプット画像

今日行ったこと 8時間45分

  • オリジナルアプリ(要件定義・画面遷移)6時間35分
    👉「大きい目標」にあたる部分のフォーマット(カラムに繋がる部分)や、「小さな習慣」の可視化にあたる部分について、どうやったら使ってもらえるのだろうか(使いやすいのだろうか)フックモデル
    👉そもそも現実的に現在の技術で実装できるのか(カレンダーを塗りつぶす機能) などについて考えていた(なかなか思うように進まない)

  • SNS認証によるログイン機能の実装 2時間10分
    👉”SNS認証の場合にパスワードが自動生成される部分”が上手くいかず明日に持ち越し。


新しい発見

SNS認証によるログイン機能の実装について(FacebookGoogleアカウント)

  • SNS認証を実現するには、ドキュメントにあるメソッドを実装していく。

OmniAuthのGithub

github.com

google-oauth2のGithub

github.com

流れ 処理内容
1 クライアントサイド側から入力によりFacebookあるいはGoogleの認証が開始
2 サーバーサイド側はWebAPIに対し、リクエストを送る
3 認証を経て、コーンとローラーにSNSに登録されている情報が送られる
4 SNSの情報から、ユーザー情報のみを取得して、既存のユーザー情報と照合を行う
5 その照合結果から、今回SNSで認証されたユーザーが、すでにアプリに登録されているユーザーなのか判断する
6 【既存のユーザーがいない】新規登録画面に遷移する
7 【すでに既存のユーザーだった】ログイン処理を行う

【コントローラー】

  • authorizationと呼ばれるメソッドをprivateメソッド内に定義。

  • facebookgoogle_oauth2というアクションを定義。

【ビュー】

  • link_toを使って、コントローラーのアクションが呼び出されるように定義。

  • プレフィックスとHTTPメソッドは、OmniAuthのGitHub通りにかく。(例 user_facebook_omniauth_authorize_path, method: :post

上記の部分まで理解。

  • 本番環境について。環境変数を設定しても、そもそものURLをAPIとして使うことの申請していなければ使えないことに気が付く。



オリジナルアプリ(要件定義・画面遷移)について

感想

  • オリジナルアプリ、思うように進まない😓

  • 何故か理由を考えると、技術的にどうやって実装したらいいかを考えてしまい(見通しが立たなくて)不安になってしまったこと。

  • 上記が不安になってくると、そもそもこの機能で本当にユーザーは使いたい気持ちになるのだろうか?という部分まで不安になってきたこと。

  • 今、日記を書いていると(客観的に見ると)自分のためのアプリだから、不安な気持ちはわかるけど、どこまで実装できるか試してみようくらいの気持ちで進めていかないと前に進まないと感じた。

  • あと、今日は、オリジナルアプリを先に考えた後、夜ミニアプリのコードを進めた。それだとオリジナルアプリが上手くいかなければいかないほど「前に進んでいない感覚」となり、気持ち的に焦ったため、明日からはミニアプリ作ってから、オリジナルアプリを図に落とし込む作業をしようと思った。

  • あと銭神さんがTwitterで言っていた環境変数のやる時間をあらかじめ決めておくのと同じように、PHPをやる時間を毎日一日15分(目標は小さめに)行なおうと思った(この調子だとPHPについて後回しにしてしまい、全く勉強出来なさそうだと危機感を感じたため)

覚書

ミニアプリ(目的:知識の引き出しを増やす)



優先順位

(1)ミニアプリの作成(実装方法の理解)・個人アプリのためのインタビュー・DB設計等
👉12月29日(火)締め切り

(2)個人アプリの作成。
👉1月11日(月)締め切り(基本実装)

(3)(1)で学んだことを「フリマアプリ」あるいは「個人アプリ」に反映。
👉1月17日(日)締め切り

追加:(1)(2)(3)と同時並行で、PHPについても学ぶ。



身に付ける力(直近)


身に付ける力(ゆくゆく・覚書)

  • 環境構築

  • 環境変数などのOS知識

  • バージョン対応力

  • データベースをインポートする力・エクスポートする

  • GitHubActions×OpenAPIGenerator(APICilent)