我应该为移动应用程序使用 Cognito 应用程序机密吗?

Should I use a cognito app secret for a mobile app?

Secret 是可选的,文档 hereSpecifying User Pool App Settings 状态下:

When you create an app, you can optionally choose to create a secret for that app. If a secret is created for the app, the secret must be provided to use the app. Browser-based applications written in JavaScript may not need an app with a secret.

Secrets cannot be changed after an app is created. You can create a new app with a new secret if you want to rotate the secret that you are using. You can also delete an app to block access from apps that use that app client ID.

特别是他们为 基于浏览器的应用程序 调用了例外,因为源很容易获得并且可以从那里获取秘密。

对于移动应用程序,从已编译的应用程序中搜索字符串可能类似于在基于浏览器的应用程序中寻找秘密;可以肯定的是,需要做更多的工作。

无论如何,移动应用程序的建议是放弃秘密吗?

我建议使用机密,这样您就可以控制需要访问和需要阻止的应用程序。

如果您希望1.3或更低版本禁止访问,只需要访问1.4,您可以为1.4创建一个新的app secret,并删除1.3以下的所有secret,并要求用户升级到最新的应用程序才能访问较新的版本。

如果特定版本存在错误或任何漏洞,这也有助于拒绝访问。

希望对您有所帮助。