2017-11-30 10 views
1

OAuth2を使用してネイティブモバイルアプリを作成したいと考えています。 clientIDを盗むのを防ぐ方法(この情報は誰でも入手できます)誰かが独自のアプリを作成し、クライアントIDを使用してアプリとして行動できますか?ネイティブアプリOAuth2承認

答えて

1

はい、誰かがあなたのclientId/clientSecretを取得した場合、彼はあなたのアプリケーションとして動作でき、悲しいことに、アプリケーションから資格情報を完全に削除する方法はありません。

より高いレベルでは、サービスに認証するための識別子とシークレットが必要です。あなたのアプリからシークレットを削除する場合は、別の場所から取得する必要があります(ユーザーが入力する可能性があります。これは、ユーザーに認証を与え、さらにAPIコールを実行するトークンを与えることと同じです)。

しかし、this articleで説明されているように、リバーサーが資格情報を取得するのを難しくすることができます。 さらに難しくするために、すべてのAPIコールをHTTPSで強制的に実行し、SSL証明書のピン設定を有効にして、Proxy Debugging/Man In The Middleを引き離すことが難しい場合があります。

最終的には、どのAPI呼び出しを公開するべきか(これらのリソースにアクセスするためのOAuthトークンのみで)、ユーザー認証が必要なAPI呼び出しを明確に特定する必要があります。

PS:Googleの(Androidセキュリティのベストプラクティス)[https://developer.android.com/training/best-security.html]は良いスタートになるかもしれません!

+0

ありがとうございました。 –

関連する問題