首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

需要刷新页面以在auth0身份验证后在Angular中获取令牌和用户配置文件

在使用Auth0进行身份验证时,Angular应用程序通常会在用户登录后获取访问令牌和用户配置文件。如果需要刷新页面才能获取这些信息,可能是由于以下几个原因:

基础概念

Auth0: 是一个身份验证和授权平台,提供了一系列工具和服务来帮助开发者实现安全的用户身份验证。 访问令牌: 是一种安全凭证,用于代表用户访问受保护的资源。 用户配置文件: 包含用户的身份信息和属性。

相关优势

  1. 安全性: Auth0提供了强大的安全机制,包括OAuth 2.0、OpenID Connect等标准协议。
  2. 易用性: 提供了丰富的SDK和文档,便于集成到各种应用中。
  3. 灵活性: 支持多种身份验证方式,如社交登录、多因素认证等。

类型

  • 访问令牌: 用于访问API和其他资源。
  • ID令牌: 包含用户的身份信息,通常用于前端应用。

应用场景

  • 单页应用(SPA): 如Angular应用,通过Auth0实现无感知的身份验证。
  • Web应用: 需要保护后端API的用户认证。
  • 移动应用: 提供安全的用户登录和授权。

可能的问题及原因

  1. 令牌未正确存储: 可能是因为令牌没有正确存储在本地存储或会话存储中。
  2. Angular路由问题: 可能是由于Angular的路由配置导致页面刷新后才能重新获取令牌。
  3. Auth0回调处理不当: 回调URL可能没有正确处理,导致令牌未能及时更新。

解决方案

以下是一个基本的示例,展示如何在Angular应用中使用Auth0 SDK来获取并存储访问令牌和用户配置文件,而不需要刷新页面。

安装依赖

首先,确保安装了auth0-js库:

代码语言:txt
复制
npm install auth0-js

配置Auth0服务

创建一个服务来处理Auth0的登录和令牌获取:

代码语言:txt
复制
import { Injectable } from '@angular/core';
import { Router } from '@angular/router';
import * as auth0 from 'auth0-js';

@Injectable({
  providedIn: 'root'
})
export class AuthService {
  private auth0 = new auth0.WebAuth({
    domain: 'YOUR_AUTH0_DOMAIN',
    clientID: 'YOUR_AUTH0_CLIENT_ID',
    redirectUri: 'http://localhost:4200/callback',
    responseType: 'token id_token',
    scope: 'openid profile email'
  });

  constructor(private router: Router) {}

  login() {
    this.auth0.authorize();
  }

  handleAuthentication() {
    return new Promise((resolve, reject) => {
      this.auth0.parseHash((err, authResult) => {
        if (authResult && authResult.accessToken && authResult.idToken) {
          window.location.hash = '';
          this.setSession(authResult);
          resolve();
        } else if (err) {
          reject(err);
        }
      });
    });
  }

  private setSession(authResult) {
    localStorage.setItem('access_token', authResult.accessToken);
    localStorage.setItem('id_token', authResult.idToken);
    localStorage.setItem('expires_at', JSON.stringify(authResult.expiresIn * 1000 + new Date().getTime()));
  }

  logout() {
    localStorage.removeItem('access_token');
    localStorage.removeItem('id_token');
    localStorage.removeItem('expires_at');
    this.auth0.logout({
      returnTo: 'http://localhost:4200',
      clientID: 'YOUR_AUTH0_CLIENT_ID'
    });
  }

  isAuthenticated(): boolean {
    const expiresAt = JSON.parse(localStorage.getItem('expires_at'));
    return new Date().getTime() < expiresAt;
  }

  getAccessToken(): string {
    return localStorage.getItem('access_token');
  }
}

在组件中使用

在Angular组件中调用这些方法来处理登录和获取令牌:

代码语言:txt
复制
import { Component } from '@angular/core';
import { AuthService } from './auth.service';

@Component({
  selector: 'app-login',
  template: `<button (click)="login()">Login</button>`
})
export class LoginComponent {
  constructor(private authService: AuthService) {}

  login() {
    this.authService.login();
  }
}

@Component({
  selector: 'app-callback',
  template: ``
})
export class CallbackComponent {
  constructor(private authService: AuthService) {
    this.authService.handleAuthentication().then(() => {
      this.authService.isAuthenticated() ? this.router.navigate(['/home']) : this.router.navigate(['/login']);
    });
  }
}

通过这种方式,可以在用户登录后自动获取并存储令牌和用户配置文件,而无需刷新页面。

总结

确保正确处理Auth0的回调,并在服务中妥善存储和使用令牌,可以有效避免需要刷新页面来获取这些信息的问题。使用上述示例代码可以帮助你在Angular应用中实现这一流程。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

分享一篇详尽的关于如何在 JavaScript 中实现刷新令牌的指南

介绍 刷新令牌允许用户无需重新进行身份验证即可获取新的访问令牌,从而确保更加无缝的身份验证体验。这是通过使用长期刷新令牌来获取新的访问令牌来完成的,即使原始访问令牌已过期也是如此。...刷新令牌具有较长的生命周期,用于在原始访问令牌过期后获取新的访问令牌。 当访问令牌过期时,客户端将刷新令牌发送到服务器,然后服务器验证刷新令牌并生成新的访问令牌。...客户端将令牌存储在本地存储中或作为仅 HTTP 的安全 cookie。 客户端在每个访问受保护资源的请求中发送访问令牌。 当访问令牌过期时,客户端将刷新令牌发送到认证服务器以获取新的访问令牌。...该脚本首先向令牌端点发出初始请求以获取访问令牌和刷新令牌。然后,对访问令牌进行解码以获取过期时间,并在向受保护端点发出请求之前检查该过期时间。...总的来说,在身份验证过程中加入刷新令牌可以极大地改善用户体验并提高 Web 应用程序的安全性。通过本指南,您现在应该具备在 JavaScript 应用程序中实现刷新令牌所需的知识和工具。

36430

《ASP.NET Core 微服务实战》-- 读书笔记(第10章)

平台,在这些平台上,支撑应用的操作系统应被视为临时存续的 有些企业的安全策略要求所有虚拟机在滚动更新期间需要销毁并重新构建,从而缩小持续攻击的可能范围 Cookie 和 Forms 身份验证 当应用运行于...PaaS 环境中时,Cookie 身份验证仍然适用 不过它也会给应用增加额外负担 首先,Forms 身份验证要求应用对凭据进行维护并验证 也就是说,应用需要处理好这些保密信息的安全保障、加密和存储 云环境中的应用内加密...例如 OAuth 2.0 (JWT),通常将 Base64 编码用作一种 URL 友好格式,因此验证令牌的第一步就是解码,以获取原有内容 如果令牌使用私钥加密,服务就需要使用公钥验证令牌确实由正确的发行方颁发...当网站获取到合法身份后,会向 IDP 申请访问令牌,申请时需要提供身份证令牌以及正在被请求的资源的信息 使用客户端凭证保障服务的安全 首先,只允许通过 SSL 与服务通信 此外,消费服务的代码需要在调用服务时附加凭据...这种凭据通常就是用户名和密码 在一些不存在人工交互的场景中,将其称为客户端标识和客户端密钥更准确 使用 Bearer 令牌保障服务的安全 在服务的 Startup 类型的 Configure 方法中启用并配置

1.8K10
  • 一文理解JWT鉴权登录的应用

    本文将针对JWT在身份验证业务场景下的应用进行讲解。 前置知识 JWT的数据结构 JWT的表现形式是个字符串,它由头部、载荷与签名这三部分组成,中间以「.」分隔。像下面这样: ?...头部Header 头部帮助应用程序定义如何处理接收到的令牌。头部信息以JSON格式显示,转化为JWT时需要用base64url算法进行编码。...JWT在鉴权登录中的应用 单JWT在鉴权登录中的使用方法 单JWT的会话管理流程如下: 在用户登录网站的时候,输入密码、短信验证或者其他授权方式登录,登录请求到达服务端的时候,服务端对信息进行验证,然后计算出包含用户鉴权信息的...单JWT在鉴权登录中存在的问题 为了用户体验,accesstoken会设置较长时间,但是JWT形式的accesstoken包含了与用户相关的验证消息,通常情况下是不会被服务端保存,这就导致一个严重的问题当客户端重置密码后或用户被封禁的时候...将refreshtoken过期时间设置为7天,并在每次用户打开应用程序并每隔一定时间(例如1小时)刷新令牌。如果用户超过7天没有打开过应用程序,那用户就需要再次登录。

    2.9K41

    ASP.NET Core 中的身份验证和授权(针对 .NET 89 更新)

    身份验证和授权之间的区别 身份验证验证用户的身份。例如,当用户登录仓库管理系统时,将使用用户名和密码等凭证或使用令牌进行基于 API 的访问来验证其身份。...授权控制经过身份验证的用户在应用程序中可以执行的操作。例如,经过身份验证的仓库经理可能有权访问库存控制功能,而普通员工只能查看库存水平。...令牌管理和安全性 使用 JWT 时,令牌过期和刷新令牌对于维护安全会话而不会给用户带来过重负担至关重要。...实施刷新令牌可确保用户无需频繁登录,从而增强用户在高流量应用程序(如电子商务平台)中的用户体验。...避免直接在源代码或配置文件中对它们进行硬编码,以防止泄漏。 确保 HTTPS 将 ASP.NET Core 应用程序配置为强制实施 HTTPS 以保护通信通道,从而保护令牌和敏感数据不被拦截。

    17310

    HTML5手机APP开发入(5)

    并且支持Angular 2 https://auth0.com Auth0是一家"身份验证即服务"提供商,旨在为开发人员提供简单易用的身份管理服务。...为了保持灵活性和可扩展性,Auth0身份管理平台允许开发人员在身份验证和授权管道中增加自定义代码。...而在一个多租户环境中,为了保证不同用户的自定义代码可以互不影响,就需要一种技术提供必要的数据隔离和资源利用保障。 ?...Auth0提供很多自定开发功能,等有时间了慢慢研究,这里我们先简单的实现吧登录成功后把用户信息保存到本地,这样下次就可以不用在登录了 1 import {Storage, LocalStorage}...如果没有登录就显示登录页面,而这登录页面auth0 都有模板不需要另外开发 1 import {App, Platform,Storage, SqlStorage} from 'ionic-angular

    2.3K60

    使用 Java 实现 JWT 解析工具:原理与实战

    JWT (JSON Web Token) 是一种用于在网络应用中传递信息的紧凑型安全令牌,它通常用于身份验证和信息交换。JWT 由三部分组成:Header:头部,定义了令牌的类型和加密算法。...JWT 的应用场景身份认证:用户登录后,服务器生成 JWT 并返回给客户端,客户端在后续请求中附带此令牌,服务器通过解析验证用户身份。...JWT在 RESTful API 开发中,每个请求头中包含 JWT 令牌,后端通过解析令牌确保用户具有访问该接口的权限。...JWTVerifier.verify():验证传入的 JWT 令牌是否合法。DecodedJWT.getSubject():获取 JWT 中的 Subject 字段,通常代表用户身份。...通过本文的学习,开发者可以掌握如何生成、解析和验证 JWT 令牌,并将其应用于身份认证、授权等场景。总结JWT 在现代 web 开发中有着广泛的应用,特别是在分布式系统和无状态应用中。

    13711

    构建具有用户身份认证的 React + Flux 应用程序

    在 /api/contacts 端口,我们使用 map 方法获取数组中对象的 id 和 name 字段。...其它内容还包括用户配置文件, access token,  refresh token  等等。 好消息是, 由于大部分的工作在 Auth0 的沙盒中完成,所以我们已经完成了身份认证。...那么我们到底需要做些什么呢?处理用户信息和 token 最简单的方式就是把它们保存在 local storage 中,这样它们在之后可以被重新利用。...出于很多原因 ,这是一种很好的方式,但是在我们的前端应用中应该如何验证用户的身份。 好消息是,我们真正需要做的是检查令牌是否保存在本地存储中。如果令牌无效,则请求将被拒绝,用户将需要重新登录。...当组件加载后,我们从 store 中获得用户的身份验证状态。根据 authenticated 状态显示或隐藏 NavItems 。 我们可以用同样的方法设置 Index 组件中的提示信息。

    11K70

    JWT VS Session

    因此,需要确保在用户登录后,仍然可以在每个后续HTTP请求中验证用户的身份验证状态。 ? 用户的凭据作为POST请求发送到服务器。 服务器认证用户。...恶意JavaScript嵌入在页面上,以读取和破坏Web存储的内容。事实上,很多人主张,由于XSS攻击,一些非常敏感的数据不应该存放在Web存储中。...值得一提的是,token可能需要访问后端的数据库。特别是刷新token的情况。他们可能需要访问授权服务器上的数据库以进行黑名单处理。获取有关刷新token和何时使用它们的更多信息。...使用JWTs对Auth0进行身份验证 在Auth0中,我们将JWTs作为身份验证过程的结果发布。当用户使用Auth0登录时,将创建一个JWT,签名后将其发送给用户。...Auth0支持使用HMAC和RSA算法对JWT进行签名。用户可以灵活地从仪表板中选择这两种算法中的任何一种。然后,该token将用于对api进行身份验证和授权,这将授予受保护路由和资源以访问权。

    2.1K60

    Node.js-具有示例API的基于角色的授权教程

    如果用户名和密码正确,则返回JWT身份验证令牌。.../users/:id - 安全路由,无论以任何角色都限于经过身份验证的用户,它会接受HTTP GET请求,并在授权成功后返回指定“ id”参数的用户记录。...成功认证后,会将user对象附加到包含JWT令牌中数据的req对象,在这种情况下,该对象包括用户ID(req.user.sub)和用户角色(req.user.role)。...Node.js Auth用户服务 路径:/users/user.service.js 用户服务包含用于验证用户凭据并返回JWT令牌的方法,用于在应用程序中获取所有用户的方法以及用于通过id获取单个用户的方法...我在示例中对用户数组进行了硬编码,以使其始终专注于身份验证和基于角色的授权,但是在生产应用程序中,建议使用哈希密码将用户记录存储在数据库中。

    5.7K10

    JSON Web Token(JWT)教程:一个基于Laravel和AngularJS的例子

    由于HTTP协议是无状态的,因此需要有一种存储用户信息的机制,以及登录后每个后续请求对用户进行身份验证的方法。大多数网站使用Cookie来存储用户的会话ID(session ID)。...在每个后续请求中,由于用户数据存储在服务器上,服务器需要找到该会话并对其进行反序列化。 基于服务器的认证的缺点 难以扩展:服务器需要为用户创建一个会话并将其保存在服务器上的某个位置。...) 在本教程中,我将演示如何使用两个流行的Web技术实现JSON Web Token的基本身份验证:Laravel 5用于后端代码,AngularJS用于前端单页面应用程序(SPA)示例。...在我们创建了基本的Laravel 5应用程序之后,我们需要设置我们的Homestead.yaml,它将为我们的本地环境配置文件夹映射和域配置。...用户登录后,我们可以获取受限制的资源。

    30.6K10

    构建具有用户身份认证的 React + Flux 应用程序

    在 /api/contacts 端口,我们使用 map 方法获取数组中对象的 id 和 name 字段。...其它内容还包括用户配置文件, access token,  refresh token  等等。 好消息是, 由于大部分的工作在 Auth0 的沙盒中完成,所以我们已经完成了身份认证。...那么我们到底需要做些什么呢?处理用户信息和 token 最简单的方式就是把它们保存在 local storage 中,这样它们在之后可以被重新利用。...出于很多原因 ,这是一种很好的方式,但是在我们的前端应用中应该如何验证用户的身份。 好消息是,我们真正需要做的是检查令牌是否保存在本地存储中。如果令牌无效,则请求将被拒绝,用户将需要重新登录。...当组件加载后,我们从 store 中获得用户的身份验证状态。根据 authenticated 状态显示或隐藏 NavItems 。 我们可以用同样的方法设置 Index 组件中的提示信息。

    11.6K00

    UAA 概念

    在应用程序获取访问令牌之前,开发人员必须执行一次性注册过程才能在 UAA 中创建客户端。 客户端通常代表具有自己的一组权限和配置的应用程序。...客户有两种类型: 客户端访问资源并向 UAA 请求令牌以执行此操作 代表资源并接受和验证访问令牌的客户端 通过客户端注册在 UAA 中创建客户端。...在该页面中,他们向客户端授予批准。...用户批准请求的范围后,它们将使用 URL 参数中的授权代码重定向回客户端应用程序。然后,客户端应用可以与 UAA 交换授权码以获得访问令牌。...创建访问令牌后,UAA 将获取用户组并将其与客户端范围相交。这两个字段的交集是可以在访问令牌中填充的合并范围。

    6.4K22

    实战指南:Go语言中的OAuth2认证

    您需要确保重定向URI与您在应用程序注册时提供的URI匹配。 在获取这些凭证和信息后,您就可以开始在您的应用程序中配置OAuth2客户端,并使用OAuth2进行身份验证和授权了。 4....在实际应用中,您可能需要将访问令牌存储在会话中,并根据需要调用受保护的API。 5. 示例代码演示 在本节中,我们将演示如何使用Go语言实现基本的OAuth2认证流程,并获取访问令牌后调用API。...登录处理函数负责将用户重定向到授权页面,而回调处理函数则处理用户在授权后返回的授权码,并交换为访问令牌。在handleAPI处理函数中,您可以使用访问令牌调用受保护的API。...刷新令牌 OAuth2的访问令牌通常具有一定的有效期,过期后需要重新获取新的访问令牌。为了避免用户重新登录,OAuth2提供了刷新令牌的机制。刷新令牌用于获取新的访问令牌,而无需用户再次提供凭据。...为了处理过期令牌,您可以通过在应用程序中检查访问令牌的有效期,并在需要时使用刷新令牌获取新的访问令牌。 实时刷新:在发现访问令牌过期时立即刷新令牌,以确保无缝的用户体验和持续的访问权限。

    79230

    从0开始构建一个Oauth2Server服务 单页应用

    redirect_uri(可选) redirect_uri在规范中是可选的,但某些服务需要它。这是您希望在授权完成后将用户重定向到的 URL。这必须与您之前在服务中注册的重定向 URL 相匹配。...这可能用于指示授权完成后在应用程序中执行的操作,例如,指示在授权后重定向到您的应用程序的哪些页面。这也作为 CSRF 保护机制。 请注意,不使用客户端密码意味着使用状态参数对于单页应用程序更为重要。...也几乎不需要刷新令牌,因为 JavaScript 应用程序只会在用户积极使用浏览器时运行,因此它们可以在需要时重定向到授权服务器以获取新的访问令牌。...这为授权服务器提供了一种检测刷新令牌是否已被攻Attack复制和使用的方法,因为在应用程序的正常运行中,刷新令牌只会被使用一次。...存储Tokens 基于浏览器的应用程序需要在授权流程中临时存储一些信息,然后永久存储生成的访问令牌和刷新令牌。这在浏览器环境中提出了一些挑战,因为目前浏览器中没有通用的安全存储机制。

    22330

    Go语言中的OAuth2认证

    您需要确保重定向URI与您在应用程序注册时提供的URI匹配。在获取这些凭证和信息后,您就可以开始在您的应用程序中配置OAuth2客户端,并使用OAuth2进行身份验证和授权了。4....在实际应用中,您可能需要将访问令牌存储在会话中,并根据需要调用受保护的API。5. 示例代码演示在本节中,我们将演示如何使用Go语言实现基本的OAuth2认证流程,并获取访问令牌后调用API。...登录处理函数负责将用户重定向到授权页面,而回调处理函数则处理用户在授权后返回的授权码,并交换为访问令牌。在handleAPI处理函数中,您可以使用访问令牌调用受保护的API。...刷新令牌OAuth2的访问令牌通常具有一定的有效期,过期后需要重新获取新的访问令牌。为了避免用户重新登录,OAuth2提供了刷新令牌的机制。刷新令牌用于获取新的访问令牌,而无需用户再次提供凭据。...处理过期令牌OAuth2的访问令牌通常具有一定的有效期,过期后需要重新获取新的访问令牌。为了处理过期令牌,您可以通过在应用程序中检查访问令牌的有效期,并在需要时使用刷新令牌获取新的访问令牌。

    68310

    OAuth2.0 OpenID Connect 一

    通常,您需要使用/tokenHTTP POST 访问端点以获取用于进一步交互的令牌。 OIDC 还有一个/introspect用于验证令牌的端点,一个/userinfo用于获取用户身份信息的端点。...当需要反向通道通信时,授权代码流是一个不错的选择。 授权代码流使用response_type=code. 身份验证成功后,响应将包含一个code值。...身份验证成功后,响应将在第一种情况下包含一个id_token和一个,在第二种情况下仅包含一个。当您有一个应用程序直接与后端对话以获取没有中间件的令牌时,此流程很有用。它不支持长期会话。...这是一个典型的场景: 用户登录并取回访问令牌和刷新令牌 应用程序检测到访问令牌已过期 应用程序使用刷新令牌获取新的访问令牌 重复 2 和 3,直到刷新令牌过期 刷新令牌过期后,用户必须重新进行身份验证...这种方法在用户体验和安全性之间取得了平衡。想象一下,如果用户以某种方式受到损害。或者,他们的订阅到期。或者,他们被解雇了。在任何时候,管理员都可以撤销刷新令牌。

    47530

    8种至关重要OAuth API授权流与能力

    三、获取令牌 在相关规范中定义的许多授权流中,有四种基本流程用于获取OAuth中的令牌。在这里,我将就这几个基本流程和其他我认为比较重要的流程进行一些描述。...用户对委托进行身份验证和批准,但是OAuth服务器不会发出CODE,而是返回访问令牌进行响应。 当然,这里的缺点是令牌是完全可见的,而且由于它在浏览器中,客户端在处理令牌的过程中容易受到安全攻击。...客户端收集用户的凭据(用户名和密码),并将它们与自己的客户端凭据一起传递。服务器以令牌和可选的刷新令牌来进行响应。很简单对吧?但是有一个“但是”,而且很重要。...在这里阅读更多:《辅助令牌流:单页应用程序中OAuth集成的答案》(http://t.cn/EwtoblI) 白小白: 单页面应用的最显著特征是页面本身在初次加载后是不进行页面的刷新的,因此无法完成一个向授权服务器的的重定向来获得令牌...白小白: 这里面涉及“代理”的概念,一次代理代表客户端以授权的用户身份执行某种操作。而一次代理过程中可能获得多次令牌,包括访问令牌和刷新令牌。 ?

    1.7K10

    Spring Cloud Security,使用redis存储token

    它提供了许多安全特性,包括身份验证、授权和安全配置等功能。在许多应用程序中,安全保护需要使用令牌(Token)来管理用户的身份验证和授权。而使用Redis作为令牌存储可以提供更好的性能和可伸缩性。...Spring配置文件中配置Redis连接信息:spring: redis: host: localhost port: 6379接下来,需要配置Spring Security的令牌存储方式...实际应用中,可以将客户端信息保存在数据库中。在上述代码中,我们配置了一个OAuth2客户端,它可以通过授权码模式获取访问令牌。接下来,我们将演示如何使用该客户端获取访问令牌。...输入用户名和密码(在本例中,使用了默认的用户名和密码),并点击登录按钮。如果登录成功,将显示授权页面。在授权页面中,点击“Authorize”按钮。将返回到回调URL,并显示访问令牌和刷新令牌。...然后,需要在请求头中添加Authorization头,将访问令牌放入其中。发送请求后,如果令牌有效,将返回200 OK响应,并显示“Hello, World!”消息。

    1.5K30

    OAuth 详解 什么是 OAuth?

    SAML SAML 基本上是您浏览器中的一个会话 cookie,可让您访问网络应用程序。它在您可能希望在 Web 浏览器之外执行的设备配置文件类型和场景方面受到限制。...以小时和分钟来考虑它们,而不是几天和一个月。您不需要机密客户端来获取访问令牌。您可以通过公共客户端获取访问令牌。它们旨在针对互联网规模问题进行优化。...要获得刷新令牌,应用程序通常需要经过身份验证的机密客户端。 刷新令牌可以被撤销。在仪表板中撤销应用程序的访问权限时,您正在终止其刷新令牌。这使您能够强制客户端轮换机密。...然后将授权传递给令牌端点。令牌端点处理授权并说“很好,这是您的刷新令牌和访问令牌”。 ? 您可以使用访问令牌来访问 API。一旦它过期,您将必须使用刷新令牌返回到令牌端点以获取新的访问令牌。...在此流程中,您向客户端应用程序发送用户名和密码,然后它从授权服务器返回访问令牌。它通常不支持刷新令牌,并且假定资源所有者和公共客户端在同一台设备上。

    4.5K20

    开发中需要知道的相关知识点:什么是 OAuth?

    SAML SAML 基本上是您浏览器中的一个会话 cookie,可让您访问网络应用程序。它在您可能希望在 Web 浏览器之外执行的设备配置文件类型和场景方面受到限制。...另一个令牌是刷新令牌。这要长得多;天,月,年。这可用于获取新令牌。要获得刷新令牌,应用程序通常需要经过身份验证的机密客户端。 刷新令牌可以被撤销。...在仪表板中撤销应用程序的访问权限时,您正在终止其刷新令牌。这使您能够强制客户端轮换机密。您正在做的是使用刷新令牌获取新的访问令牌,并且访问令牌通过网络访问所有 API 资源。...然后将授权传递给令牌端点。令牌端点处理授权并说“很好,这是您的刷新令牌和访问令牌”。 您可以使用访问令牌来访问 API。一旦它过期,您将必须使用刷新令牌返回到令牌端点以获取新的访问令牌。...在此流程中,您向客户端应用程序发送用户名和密码,然后它从授权服务器返回访问令牌。它通常不支持刷新令牌,并且假定资源所有者和公共客户端在同一台设备上。

    29140
    领券