Giter Site home page Giter Site logo

social-login-demo's Introduction

課題

  • ログアウトはapiからしてあげるひつようあるかも
    • ページ遷移が効かないので、Apiを叩いてあげる必要がある
  • どうにかして、ファビコンを参照できないかな。
  • ログイン情報をUserにどう保存するか。
    • すくなくともソーシャルログインの都合上、どうするか
    • どこ経由のログインなのかと一意になる条件からユーザー情報を取得?
    • まず何をもって、ログインが成功しているかどうか認証してるんだろう。
    • JESSONIDとかいうものらしい
  • ユーザの新規登録をつくらないと
  • フォームログインをJWTとかにして、一応セキュリティも向上させつつユーザサービスを改変できるような形にしておくと。
  • Domaを含めたgradleのいい感じの設定をつくりたい。
  • Swaggerなんかを利用してAPIをさくっとドキュメント化したいな。
    • OpenAPI Generatorとかいうのがあるらしい
  • ユーザ機能としては何がある?
    • パスワードを忘れたらなんちゃら
    • 新規登録
    • ログアウトをコンポーネント化して、どこからでもログアウトできるようにしておく
  • DockerからMysqlとかのミドルウェアまでセットで雛形にしておきたいなー
  • 投げる例外に応じて、適切にレスポンスを返すようカスタムしないとな
  • Domaは入ってるようで何もはいってないな。意味わからんわ。

概要

特徴

  • ソーシャルログインをSpring側で実装
  • ReactをTypeScriptで実装し、ビルド後にSpring側でテンプレートエンジンで機能
    • ただし、テンプレートエンジンを利用するのはログインページのみ

詳細

環境構築手順

1. Springを立てる

イニシャライザーとかを使用してなんやかんや良い感じのものを作る。

2. Reactを立てる

$ npx create-react-app --template typescript ui

3. package.jsonにプロキシーを設定

イメージとしては以下の感じ

{
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "proxy": "http://localhost:8080",
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  }
}

4. build.gradle.ktsにui側の情報を設定

Create React App には出力先をカスタマイズするオプションはありません。 そこで、build コマンド実行後にビルド結果を Spring Boot から配信できる位置に移動させるスクリプトを書いてしまいます。 src/main/resources/public はビルド結果なので .gitignore に含めていいでしょう。

詳しくは、そっちのファイル参照のこと

参考文献

Domaのインストールガイド

social-login-demo's People

Contributors

t-adachi-via-seaos avatar

Watchers

Pekeo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.