OAuth 2.0 / OpenID Connect - 关于使用 ID 令牌与使用访问令牌的概念性问题

OAuth 2.0 / OpenID Connect - Conceptual question about using ID Token vs using Access Token

我对编程和整个 authentication/authorization 都比较陌生,想从根本上了解我在初级工作中所做的事情。

我不太清楚的一件事是:

现在出现以下(常见?)场景: 我有一个应用程序(在我的例子中是一个 bot 但 nvm)通常需要登录(使用 OpenId Connect 进行身份验证)--> 将用户重定向到我的 IdP 等等--> 取回 ID 令牌

稍后我可能想代表用户发送一封电子邮件 - 所以我需要设置一些授权范围等等。

现在通常在最先进的应用程序中,如何避免授权步骤中的登录 window。 OFC,我们仍然需要请求许可,但我们不应该需要例如用户+再次通过。

谁能给我解释一下这种情况背后的基本逻辑? “记住”我已经进行了授权并通过进一步基于 OAuth 的交互保持该状态背后的核心思想是什么?通常使用登录会话的方法是什么?还有:管理会话等通常在我的应用程序范围内,对吗?什么是 OAuth 的一部分,什么是我作为开发人员的一部分?我希望得到一个笼统的、更概念化的答案:)

请原谅我的措辞可能不准确,我是新来的:)感谢任何帮助!

当用户最初进行身份验证时,客户端将收到一个访问令牌和一个刷新令牌。

使用访问和刷新令牌,客户端可以在后台(即使用户未登录)随时使用访问令牌调用 Email-API。

它可以永远这样做,直到用户停止访问或刷新令牌过期。

那你这里有很多配置选项要处理。