Fintan

モバイルアプリケーションのセキュリティと認証

CONTENTS

  • arrow_forwardモバイルアプリケーションのセキュリティと認証
     

    Android, iOS, React Native

はじめに

モバイルアプリケーションは多種多様ですが、多くのアプリケーションでセキュリティの担保とユーザ認証は必要になります。 それらについてプロジェクトでそのまま参考にできる、システムアーキテクチャの解説書と具体的な設計例を用意しています。

また、以下のガイドで示したアーキテクチャと設計を実際のソースコードに落としたサンプルアプリケーションもソースコードを公開しています。 ソースコードを参照して、開発者が実際の開発を進めやすいようにするのが目的です。ガイドと合わせてご覧ください。

サンプルアプリケーションではReact Nativeを使っています。そのためReact Nativeを使うプロジェクトで同じユースケースであればソースコードを流用可能です。

セキュリティ

Webアプリケーション開発の経験者がモバイルアプリケーション開発を始める上で参考になる、セキュリティ関連のガイドや記事を紹介します。セキュアプログラミングだけでなく、セキュリティ要件定義にも役立つガイドラインが提示されているので、それらを紹介しています。

モバイルアプリケーション開発ガイド – セキュリティ

認証アーキテクチャ

モバイルアプリケーションでも、バックエンドのAPIサーバなどと連携してサービスを提供することが一般的です。モバイルアプリケーションの利用ユーザをバックエンドのAPIサーバに対して認証する方式には大きく分けてステートフルとステートレスという選択肢がありますが、それぞれのメリット・デメリットをまとめています。

また、ステートレスな認証方式として一般的なOpenID Connectについて、モバイルアプリケーションで利用する際の概要についてもまとめています。

モバイルアプリケーション開発ガイド – 認証アーキテクチャ

Webアプリケーションとの認証情報の連携

Webアプリケーションを公開した後に、モバイルアプリケーションも公開したいというのは、よくある要望です。 このような場合、モバイルアプリの中でWebアプリを表示すれば、モバイルアプリ側で全ての機能を一から作らずにすむので、重要な機能の開発に注力できます。

モバイルアプリの中で単純にWebアプリを表示するだけであれば、WebViewを使って比較的簡単に実現できますが、認証が必要な画面についてはそれほど簡単ではありません。 例えばモバイルアプリでログイン後、Webアプリを開いたときにもログインが必要になってしまっては、アプリ内に表示している意味が薄くなってしまいます。

そのようなことにならないように、モバイルアプリとWebアプリでどのように認証状態を同期できるか、以下のページで紹介しています。

モバイルアプリケーション開発ガイド – Webアプリとの認証情報の連携


※ 本コンテンツに含まれるドキュメントはクリエイティブコモンズ(Creative Commons) 4.0 の「表示—継承」に準拠しており、コード例はApache License 2.0に準拠しています。

※ 本コンテンツ内に記載されている会社名、製品名は、各社の登録商標または商標です。

このエントリーをはてなブックマークに追加


TIS株式会社
個人情報保護方針 個人情報の取り扱いについて 情報セキュリティ方針

Copyright 2020 TIS Inc.keyboard_arrow_up