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

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

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

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

ログイン

ログインは、ユーザーがコンピューターシステムにアクセスするプロセスの事を呼びます。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Q&A

0回答

679閲覧

スマホアプリにおける、匿名ログイン/ゲストログイン等と呼ばれる認証は内部的には何が行われているのでしょうか

ksy

総合スコア12

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

ログイン

ログインは、ユーザーがコンピューターシステムにアクセスするプロセスの事を呼びます。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

0グッド

1クリップ

投稿2021/06/19 03:58

具体的には下記のアプリのような認証の挙動を実現したいと考えています。

図1. ユーザ登録無しでゲストユーザとしてアプリを利用できます
イメージ説明

図2, 図3. ユーザ登録無しでログインしているユーザとほぼ同じように振る舞うことができます(自分のフォロー情報をサーバに保存できます/保存した情報を参照できます)
イメージ説明

![!イメージ説明

初回起動時に仮IDや仮パスワードを生成して内部に保持して、サーバ内のユーザデータにアクセスしているのだと予想しているのですが、実際にはどのように実現しているのでしょうか?

仮に上記の予想のように仮IDと仮パスワードを自動で発行しているのなら、IDとパスワードの両方を端末内に保持することになると思うのですが、セキュリティ的に問題が発生することはないのでしょうか?

また、android版に限り、フォローを行う際に「データの消失を防ぐため、設定画面から引き継ぎ用のパスワードを発行して下さい」という警告がでるのでiphoneとandroidでなにか別の方法が取られているのではないかと考えています。

スマホアプリは登録不要で使用することができるものが多いですが、実際にどのように実装されているかを解説したものが見つからず、また、セキュリティに関する問題が含まれそうなので、
広く一般的に使われているような定番の方法が知りたいと考え質問させていただきました。
よろしくお願いいたします。

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

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

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

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

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

hoshi-takanori

2021/06/19 11:04

まず、前提として、普通にユーザー ID とパスワードでログインした場合、サーバー側でセッションを生成して、その ID (セッション ID) をクッキーなどを使ってやりとりします。(セキュリティ上、パスワードの送信はログイン時だけで、アプリでは保持すべきではないと思います。) で、匿名ログインの場合は、仮ユーザー ID とセッション ID だけ発行して、本登録の際にパスワードを登録することになるかと。
ksy

2021/06/19 23:31

ご回答いただきありがとうございます。 重ねてお聞きしたいのですが、 半永続的に匿名ログインを可能にするには、セッションIDやトークンの期限切れ後に自動的に同一のユーザとして再認証を可能に必要があると思うのですが、このあたりの一般的な流れに関してもお伺いしてもいいでしょうか。
hoshi-takanori

2021/06/19 23:47

一般的な流れを語れるほど詳しくありませんが、普通にアクセストークンとリフレッシュトークンを分ければいいのでしょうね…。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問