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

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

新規登録して質問してみよう
ただいま回答率
85.46%
Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

1245閲覧

Webアプリでユーザー固有の情報を保持したい

mi_ho

総合スコア34

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2021/05/24 20:42

編集2021/05/25 09:39

heroku+Node.jsでWebアプリを作成しています.
ユーザー認証にはAuth0を使用しています.

Webアプリ内で,ユーザーが作業している情報を保存しておき,後でそこから再開できるようにしたいです.
下書き保存のような機能を目指しています.

ローカルストレージに保存しておこうかと考えたのですが,Auth0のユーザーごとに情報を管理したいため,断念しました.

Auth0を使用して,ユーザーごとのデータベースなどを構築することは可能でしょうか?
他に考えられる手段もありましたら,ぜひお願いいたします.

追記

「ユーザーが作業している情報」について補足します. 2021/5/25 18:36
保存したい「ユーザーが作業している情報」は,vis.jsのDataSet(オブジェクト型)です.
フロントでユーザーが描画したネットワーク図の情報(DataSet)を保存しておいて,後で途中から再開できるようにしたいです.

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

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

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

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

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

AbeTakashi

2021/05/25 03:14

ユーザ認証をするならすべてをサーバ側でやればいいという話ではないのですかね? ユーザーが作業している情報もすべてサーバ側で保存しちゃえばいいのでは? そういう話でないのであれば、もう少し必要な要件が分かるように質問文に追記した方がいいかもしれません。
mi_ho

2021/05/25 07:49

AbeTakashiさん,コメントありがとうございます! Webアプリのサーバ周りを最近いじりだしたもので,「サーバ側で保存」というのがイマイチ想像できず,ぼんやりした質問内容になってしまいました…????‍♀️ 「サーバ側で保存」するとなると,例えばjsonファイルとかをつくって,Nodeでそこに追記していく,とかになるんですかね? それとも,miyabi-sunさんが回答してくださっているように,データベースなるものを別で用意するんでしょうか?
AbeTakashi

2021/05/25 09:27

「ユーザーが作業している情報」というものによりけりではありますが、jsonファイルにするにしてもデータベース使うにしても保存は可能だと思います。Node.jsで掲示板やブログを作るのとやることはそれほど差はないと思います。「ユーザーが作業している情報というものをどういうデータ形式にするのか?」、そこまで落とし込めていないのであれば「ユーザーが作業している情報とはどういう情報なのか?」を質問文に追記すれば、より具体的なアドバイスが来るかもしれません。
mi_ho

2021/05/25 09:40

AbeTakashiさん,ありがとうございます! 「ユーザーが作業している情報」についての補足を追加しました!
AbeTakashi

2021/05/25 10:23

vue.jsのDataSetということで要するにjson文字列だと思いますが、例えばMySQLであればJSON型をサポートしていますので、miyabi-sunさんがおっしゃっているようにidと一緒にDataSetをまるっと保存するような仕組みを作ればいいと思います。 参考) https://kojirooooocks.hatenablog.com/entry/2020/11/19/030401 https://qiita.com/atlansien/items/c1596fb8df94abb034f4 https://code-database.com/knowledges/113 MySQLに限らず、Redisのようなkey-value方のデータストレージでもいいでしょうし、データは文字列ですからファイル名をキーとしたテキストファイルとして保存するだけでもいけるかもしれません(セキュリティ的には微妙かもしれませんが)。 参考) https://qiita.com/shirokuman/items/509b159bf4b8dd1c41ef あとは必要に応じてサーバとクライアントでこのデータをやりとりして、適宜ロードとセーブを行えるようにすればいいともいます。 あまり具体的な回答ではないのでこちらに書きました
mi_ho

2021/05/25 18:43

AbeTakashiさん,詳しくありがとうございます!助かります! 紹介していただいたページを参考に頑張ってみます!
mi_ho

2021/05/28 01:40

AbeTakashiさんに紹介していただいたWebページを参考に,heroku+ClearDB( https://elements.heroku.com/addons/cleardb )での運用を試したところ,情報の保存や取得を行うことができました! ありがとうございました!
guest

回答1

0

ベストアンサー

「Auth0 nodejs」で検索すると

Auth0のNode.jsのSDKのドキュメントが出てきました。
各APIの冒頭に仕込んで、「訪問者さんのID番号は何番なんだい?」をAuth0越しに取得

後はこのidと値をデータベースに保存して読み書きするだけです。
Webサーバ側にデータベースのシステムが必要なんで金が掛かりますが
安く済ませる方法はそれなりにあるのでそれらを組み合わせて何とかしてください。

上記のドキュメントのページをざっと読みましたが、
Node.jsにexpress.jsを組み込んだ場合の事がコードサンプルと共に記述されていました。
ブラウザのセッションに一時的に払い出されたトークンIDを書き込むようになっておりそのへんでも普通のWebサービスのように使える事がよくわかります。

従って「可能でしょうか?」の答えは「出来ます」
頑張ってください。

投稿2021/05/25 04:02

miyabi-sun

総合スコア21158

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

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

mi_ho

2021/05/25 07:50

miyabi-sunさん,回答ありがとうございます! まずは紹介していただいたドキュメントを確認して,試してみます.
mi_ho

2021/05/28 01:37

miyabi-sunさん,お返事が遅くなってしまい申し訳ありません. 現在,auth0のユーザー情報を取得し,その情報をデータベース( https://elements.heroku.com/addons/cleardb )に保存するという方法を試しています. データベースへの保存はうまくいったのですが,auth0でのユーザー情報の取得がうまくいかず,現在こちらの質問( https://teratail.com/questions/340791 )の回答を待っているところです. ユーザー情報の取得がうまくいったら,こちらの返信に最終的に自分が採用した方法を書き込んだ上で,miyabi-sunさんのこちらの回答にベストアンサーをつけさせていただきます.
mi_ho

2021/05/31 00:34

auth0のユーザー情報取得,うまくいきました! 詳しい手法は,こちらの質問( https://teratail.com/questions/340791 )の自己解決方法に書き込んでいます. miyabi-sunさんの回答をベストアンサーにさせていただきます.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問