在 ASP.NET Core API 中处理 id_token

Posted

技术标签:

【中文标题】在 ASP.NET Core API 中处理 id_token【英文标题】:Handling id_token in ASP.NET Core API 【发布时间】:2019-02-11 03:03:26 【问题描述】:

我正在使用带有 React 前端的 ASP.NET Core 2.1 应用程序实现 Auth0。

用户认证后,我得到了access_tokenid_token。我很清楚我在标头中发送 access_token 以访问我的 API 方法,但我不确定如何处理 id_token

我是否也将id_token 放在标题中?如果是这样,我用什么键呢?我正在发送带有密钥Authorizationaccess_token——见下文。

不知道如何发送id_token 并希望得到一些关于此的指示。谢谢。

【问题讨论】:

您将使用id_token 在 SPA 应用程序中构造用户对象,access_token 用于访问 API。因此,您不要将 id_token 放在标题中。 然后我需要破译id_token 来阅读声明并获取用户信息。我为此使用图书馆吗? 是的,通常会有一个库。我没有专门使用过 Auth0,但这可能会有所帮助:auth0.com/docs/libraries/auth0js/v9 该库可能有助于构建用户对象和刷新访问令牌。 刚刚浏览了 Auth0 文档,看起来我调用了获取用户配置文件,该配置文件返回包含所有相关信息的用户对象。谢谢! 【参考方案1】:

您将使用id_token 在 SPA 应用程序中构造用户对象,access_token 用于访问 API。因此,您不要将id_token 放在标题中。

有一个用于 Auth0 的 javascript 库可以帮助完成身份验证/授权任务:Auth0.js。

该库可能有助于构建用户对象和刷新访问令牌。

【讨论】:

或者换句话说,您使用id_token 与 Auth0 API 进行通信。 我有一个后续问题,这里在一个单独的问题中描述:***.com/questions/52230383/…

以上是关于在 ASP.NET Core API 中处理 id_token的主要内容,如果未能解决你的问题,请参考以下文章

保护我方Id | ASP.NET Core Web API使用加密Id

保护我方Id | ASP.NET Core Web API使用加密Id

保护我方Id | ASP.NET Core Web API使用加密Id

如何在 ASP.NET Core Web API 中使用 LINQ 仅从数据库中获取最新的 id?

ASP.net Core API 中的路由

如何在 JSON 响应 ASP.NET Core 中关闭或处理 camelCasing?