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

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

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

React Nativeは、ネイティブモバイルアプリ(iOS/Android)を作成できるJavaScriptフレームワークです。Reactと同じ設計のため、宣言的なコンポーネントでリッチなUIを開発することが可能です。

OAuth 2.0

OAuth 2.0(Open Authorization 2.0)は、APIを通して保護されたリソース(サードパーティのアプリケーション)へアクセスする為のオープンプロトコルです。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

1回答

1571閲覧

スマホアプリでAPI keyなどの機密情報を保持する方法

zhoun990

総合スコア11

React Native

React Nativeは、ネイティブモバイルアプリ(iOS/Android)を作成できるJavaScriptフレームワークです。Reactと同じ設計のため、宣言的なコンポーネントでリッチなUIを開発することが可能です。

OAuth 2.0

OAuth 2.0(Open Authorization 2.0)は、APIを通して保護されたリソース(サードパーティのアプリケーション)へアクセスする為のオープンプロトコルです。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

1グッド

2クリップ

投稿2021/05/08 18:13

React Native(Expo)でIOSアプリを作成しています。

ドキュメントにAPI keyなどの機密情報はハードコーディングも環境変数として設定しておくのもダメだと書いてあったのですが、どのように設定するのが主流なんでしょうか?

Oauth2プロバイダーと通信するreact-native-app-authというSDKを使えと記載がありましたが、調べてみたところ、Googleなどのアカウントにログインする際に使用するものとして説明されていました。

また、多くのアプリで機密情報がハードコーディングされているという記事を見かけました。それが本当ならあまり問題ではないということだと思いますが、本当にハードコーディングは避けるべきなのでしょうか。

まとめると、

  1. スマホアプリでAPI keyなどの機密情報を保存する方法はどのようなものが主流なのか
  2. Oauth2を使用してAPI keyを取得することは正しいのか
  3. (2が正しいのなら)Oauth2を使用してAPI keyを取得するのは過剰で、実際はハードコーディングされることが多いのではないか

というのが教えていただきたいことです。
環境変数事情には全く詳しくないので、的はずれなことを聞いているとしたら申し訳ないのですが、教えていただけると嬉しいです。
回答をお待ちしています。

Tetsukick👍を押しています

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

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

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

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

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

tomato879241

2021/05/27 01:25

「Oauth2を使用してAPI keyを取得する」ってどういう意味でしょうか? 「ドキュメントにAPI keyなどの機密情報はハードコーディングも環境変数として設定しておくのもダメだと書いてあった』というのは、もしかするとそれは「client_id」や「client_secret」をhard codeするな、という話ですか?
zhoun990

2021/05/27 16:02

自分で書いておいて申し訳ないんですが、どこかのドキュメントに「Oauth2を使用してAPI keyを取得する」という旨の記載があったという程度で、詳しくは理解できていないです。 「ドキュメントにAPI keyなどの機密情報はハードコーディングも環境変数として設定しておくのもダメだと書いてあった』については、API keyとしか書かれていなかったと記憶しています。自分の想定としては、FirebaseやAlgolia、Sentryなどです。
guest

回答1

0

そのアプリの重要度によります。
ハッカーにパクられたときにどれだけの損害があるか?
それだけだと思います。
通常、パクられても屁でもないのでハードコーディングします。

投稿2021/05/08 19:03

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問