dev*_*r82 6 authentication oauth oauth-2.0 identityserver4
我有一个与 OAuth 2 的工作方式更相关的问题,但由于使用 IdentityServer 来实现 OAuth,我认为它是相关的。我在任何地方都找不到答案。
我正在构建一个网站和一个使用我自己的 API 的移动应用程序。我的应用程序的每个用户都会有一个用户名和密码,这将使他能够访问应用程序/网站,并通过 API 访问他的信息。
我不确定处理用户登录流程的正确方法:
编辑
只是为了澄清,因为我发现很多讲座和文章从 API 消费者的角度(即第三方开发人员)解释了该过程:我是 API 所有者和身份验证服务器所有者,我是所有者用户帐户(他们是我的服务的用户),我也是我自己的消费者(通过网站和移动应用程序),并且将来我希望第三方开发人员能够允许我的用户登录他们的我的服务帐户(有点像 Facebook 或 Google)
你是对的,你不应该将 存储client_secret在你的应用程序中,但我怀疑你会绕过存储client_id. 您也可以禁用应用程序的同意屏幕,并构建本机登录视图。如果您不希望用户每次使用您的应用程序时都登录,您需要将access_token和存储在设备上(可能在数据库中加密)。refresh_token
对于问题4,您可以执行以下操作:
client_secret您的(网络)应用程序中session_secret使用hash(ip_address + session_salt)session_secret和client_secret进行 API 调用hash和client_secret完全阻止某人使用您的 API 几乎是不可能的。但是你应该添加各种速率限制方法,例如限制IP地址、API调用等。但是没有什么可以阻止有人反编译你的应用程序并访问你的client_id.
| 归档时间: |
|
| 查看次数: |
357 次 |
| 最近记录: |