【发布时间】:2020-03-23 11:56:24
【问题描述】:
在 API 调用中识别用户的正确方法是什么?
我正在使用Auth0 service 来保护我的 API 并管理用户身份验证/注册过程。我“认为”我很清楚两件事:
-
access_token使客户端应用程序可以正确访问我的后端 API。换句话说,我需要将access_token与我的 API 调用一起发送到我的后端,以便我可以访问我的 API 端点。 -
id_token的主要目的是提供有关用户的后端 API 信息,例如id、姓名、电子邮件等。
假设我对这两点是正确的,我如何让后端 API 知道用户是谁?我认为我不能在同一个电话中同时发送access_token 和id_token。那我要打两个电话吗?
我当然可以在我的 API 调用负载中包含用户信息,但这不是安全问题吗?恶意用户可能会在 API 调用之前更改用户信息,并将自己伪装成其他人。
我不清楚让后端 API 知道用户是谁的方式。
附:以下是更多信息,以备不时之需:
- 所有用户身份验证、注册和令牌均由
Auth0service 处理。 - 我的后端 API 在
ASP.NET Core中创建并配置为接受Auth0令牌。这工作正常,即我在 API 调用中发送从Auth0获得的access_token,并且我能够访问我的端点。 - 我现在正在
ReactNative中开发一个移动应用程序,它通过Auth0对用户进行身份验证,并调用我的ASP.NET Core后端API 来获取它提供的所有功能
【问题讨论】: