寻找将 Identity.External cookie 切换为 JWT 令牌的方法
Looking for a way to switch Identity.External cookie to JWT token
我有一个使用 .net Core Identity 的 .net Core 2 应用程序。我使用的是 JWT 令牌而不是 cookie。我有像 LinkedIn 这样的外部供应商,但在测试发布的(到 Azure)API 时,我发现 Identity.External cookies 没有被浏览器排除在外。我的客户端是从节点服务器推送的 vue.js 应用程序,而不是 .net Core webapp。
我知道我可以手动管理外部登录,但我很好奇是否还有其他方法可以继续使用身份中间件? AddOAuth 方法中的 OnCreatingTicket 事件是否可以生成 JWT 令牌而不是 cookie 发送回客户端?
我发现 Identity.External cookie 是由您在 Startup.cs 文件中添加的提供商提供的。提供者(LinkedIn,Google 等)响应您自己定义的 CallbackPath 或包含的提供者代码。然后请求将 cookie 推送到响应中,但首先调用 AccountController 中的 ExternalCallback。在 ExternalCallback 中,我 return 我需要的所有提供者信息,通常在 cookie 中找到,返回给我的客户。然后,我将同样的信息推送回我的注册控制器操作,并在我创建用户时使用它。不需要饼干。事实上,我从 ExternalCallback 端点的响应(由启动时定义的提供者传递)中删除了 cookie - HttpContext.Response.Cookies.Delete("Identity.External").
我有一个使用 .net Core Identity 的 .net Core 2 应用程序。我使用的是 JWT 令牌而不是 cookie。我有像 LinkedIn 这样的外部供应商,但在测试发布的(到 Azure)API 时,我发现 Identity.External cookies 没有被浏览器排除在外。我的客户端是从节点服务器推送的 vue.js 应用程序,而不是 .net Core webapp。
我知道我可以手动管理外部登录,但我很好奇是否还有其他方法可以继续使用身份中间件? AddOAuth 方法中的 OnCreatingTicket 事件是否可以生成 JWT 令牌而不是 cookie 发送回客户端?
我发现 Identity.External cookie 是由您在 Startup.cs 文件中添加的提供商提供的。提供者(LinkedIn,Google 等)响应您自己定义的 CallbackPath 或包含的提供者代码。然后请求将 cookie 推送到响应中,但首先调用 AccountController 中的 ExternalCallback。在 ExternalCallback 中,我 return 我需要的所有提供者信息,通常在 cookie 中找到,返回给我的客户。然后,我将同样的信息推送回我的注册控制器操作,并在我创建用户时使用它。不需要饼干。事实上,我从 ExternalCallback 端点的响应(由启动时定义的提供者传递)中删除了 cookie - HttpContext.Response.Cookies.Delete("Identity.External").