質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

SPA(Single-page Application)

SPA(Single-page Application)は、単一のWebページのみでコンテンツの切り替えができるWebアプリケーションもしくはWebサイトです。ブラウザでのページ遷移がないため、デスクトップアプリケーションのようなUXを提供します。

Vuex

Vuexは、Vue.js アプリケーションのための状態管理ライブラリです。アプリケーション内で使用するコンポーネントのための集中データストアを提供。コンポーネント同士でデータをやり取りし、処理のフローを一貫させたり、データの見通しを良くすることができます。

Q&A

2回答

1258閲覧

複数サイト間でログイン情報の共有

mmjd

総合スコア12

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

SPA(Single-page Application)

SPA(Single-page Application)は、単一のWebページのみでコンテンツの切り替えができるWebアプリケーションもしくはWebサイトです。ブラウザでのページ遷移がないため、デスクトップアプリケーションのようなUXを提供します。

Vuex

Vuexは、Vue.js アプリケーションのための状態管理ライブラリです。アプリケーション内で使用するコンポーネントのための集中データストアを提供。コンポーネント同士でデータをやり取りし、処理のフローを一貫させたり、データの見通しを良くすることができます。

0グッド

0クリップ

投稿2019/08/23 04:03

編集2019/08/23 04:06

既存WebサイトからSPAを使用したサイトへ移行を考えております。

一時的に既存WebサイトのページとSPAで作ったページを共存させたいのですが、ログインは既存サイトのみで行い認証情報をSPAの方と共有したいです。

既存Webサイトのログイン情報を別サイトに渡すことは可能なのでしょうか?
また可能であればどのように行うのか教えていただきたいです。

※外部認証サービスの使用は考えておらず、可能であれば既存の認証情報を使いたいと考えています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

既存Webサイトのログイン情報を別サイトに渡すことは可能なのでしょうか?

SSOですね。

外部認証サービスの使用は考えておらず

とのことなので、ログイン情報を別サイトに渡すというよりは、ユーザーログイン情報を1つのDBで一元管理します。
そのユーザーログイン情報を複数サービス(今回の例でいうと、既存WebサイトとSPA)で参照する形になります。

既存Webサイトでログインしていれば、SPAにアクセスしたときにログインできている状態にしたい、
ということでしたら、既存Webサイトの認証ロジックと同じものをSPAでも実装すれば良いと思います。

秘密鍵の方式とsessionもしくはcookieまたはklocalstrageがカギかなーと思います。

やり方は色々ありますが、

一時的に既存WebサイトのページとSPAで作ったページを共存

とのことなので、サーバーは3つあると仮定して話すと、

・既存WebサイトとSPAのwebサーバー ・APIサーバー ・DBサーバー

・既存WebサイトとSPAでユーザー情報をリクエストします。
・ユーザー情報をを受け取ったAPIサーバーはDBサーバーに問い合わせます。
・ユーザー情報があればAPIサーバーはtokenを既存WebサイトとSPAにレスポンスします。
・端末側でこのtokenを保持しておきます。
・以降、このtokenを元に、APIサーバーに認証を行う。

APIサーバー立てた方が良いかと思いますが、こんなフローだと思いまっす。

投稿2019/08/23 05:56

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/08/23 06:03 編集

別にAPIサーバー立てなくて良いですが、ロジックの一元化のためです。 複数サービスからはユーザー情報渡せば良いだけになるので、認証ロジックに差異が生じず保守性を保てます。 githubの秘密鍵なんかもそうですよね。 github上に登録している秘密鍵を持っている端末からなら、自宅PCだろうが職場PCからだろうがgit cloneできますよね。
mmjd

2019/08/23 06:05

ご回答ありがとうございます。 >既存WebサイトとSPAでユーザー情報をリクエストします。 既存WebサイトとSPAでID, PWなどを使って別々にログインを行うということでしょうか?
退会済みユーザー

退会済みユーザー

2019/08/23 07:26 編集

それは仕様によります。 どちらかでログイン済みであれば、どちらかは認証不要という方向性でいきたいのか。 どちらかでログインしてても、常にどちらかでログインを行う方向性でいくのか。 仕組みを理解することが近道だと思います。 https://qiita.com/TakahikoKawasaki/items/e37caf50776e00e733be APIサーバーって言いましたけど認証サーバーと同義です。
mmjd

2019/08/26 01:48

ご回答ありがとうございます ・どちらかでログイン済み(既存サイトにしかログイン画面はない)であれば、どちらかは認証不要という方向性でいきたい ・SPAでも既存サイトで認証したユーザ権限によって画面制御したい ・SPAでAPI認証は既存DBに項目追加して別の仕組みを作成 したいけどどうやって? という質問でした
guest

0

別々のサーバで動作しているアプリの認証を一元化したいという話であれば、使用されている言語やフレームワークなどで SingleSignOn の実装方法について調べればいくつか事例が出てくると思います。

確立されている方式は このあたり をご参考にしていただければ。

もっと具体的な回答を得たい場合は、どの方式で実現したいかを追記した上で実行環境(Cloudサービスを利用している場合はサービス名)、サーバ側で使用している言語等の必要な情報も出していただく必要があります。

投稿2019/08/23 04:58

guissy-k

総合スコア245

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Y.H.

2019/08/23 06:18

ドメインは単一ドメイン(サブドメイン含む)でしょうか?
mmjd

2019/08/26 01:49

単一ドメイン(サブドメイン含む)です
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問