私は、Androidアプリケーション(クライアント)から使用されるOAuth2のSpringでセキュリティ保護されたREST APIを開発中です。私のAPIの任意のエンドポイントにアクセスするためには、のOAuth2アクセストークンが必要とされ、これと同様の方法で認証ヘッダー経由でエンドポイントに引き渡さ:OAuth2クライアントIDとクライアントの秘密のセキュリティ
を「ベアラがaccesstokenhere」「承認」 -
アクセストークンを取得するには、クライアントIDとクライアントシークレット(Androidアプリを表す)とユーザー名とパスワードを入力する必要があります。
: - 「clientSecret基本のclientId」
「認可」:クライアントIDとクライアントシークレットは春で指定されているこれと同様の方法で認証ヘッダーを介したトークンエンドポイントに引き渡されクライアントIDとクライアントシークレットがサーバー上で定義されたクライアントと一致し、ユーザーが存在し、パスワードが正しい場合は、アクセストークンと更新トークンが返されます。
私の質問はです。私のクライアントIDとクライアントの秘密をAndroidアプリケーション内に安全に保存する方法、私のアプリケーションをリバースエンジニアリングする人にはアクセスできないようにしていますか?
また、iOSアプリケーション(第2のクライアント)を開発する場合、セキュリティPOVから別のclientIDとクライアントシークレットを使用することをお勧めしますか?
、詳細についてはAppAuth for Androidを見てください秘密を隠すことはできません。https://stackoverflow.com/a/43391526/5277820およびhttps://stackoverflow.com/questions/44044528/how-to-secure-oauth-2-0-clientも参照してください。 -idおよびクライアント秘密。 – dur