Client模型的OpenID Connect或OAuth 2.0 客户端-例如,本地应用,Web应用程序或基于JS的应用程序。

56.1 Basics

  • Enabled
    指定是否启用客户端。默认为true。

  • ClientId
    客户端的唯一ID

  • ClientSecrets
    客户端机密列表 - 访问令牌端点的凭据。

  • RequireClientSecret
    指定此客户端是否需要密钥才能从令牌端点请求令牌(默认为true

  • AllowedGrantTypes
    指定允许客户端使用的授权类型。使用GrantTypes该类进行常见组合。

  • RequirePkce
    指定使用基于授权代码的授权类型的客户端是否必须发送校验密钥

  • AllowPlainTextPkce
    指定使用PKCE的客户端是否可以使用纯文本代码质询(不推荐 - 默认为false

  • RedirectUris
    指定允许的URI以返回令牌或授权码

  • AllowedScopes
    默认情况下,客户端无权访问任何资源 - 通过添加相应的范围名称来指定允许的资源

  • AllowOfflineAccess
    指定此客户端是否可以请求刷新令牌(请求offline_access范围)

  • AllowAccessTokensViaBrowser
    指定是否允许此客户端通过浏览器接收访问令牌。这对于强化允许多种响应类型的流是有用的(例如,通过禁止应该使用code id_token来添加令牌响应类型并因此将令牌泄漏到浏览器的混合流客户端。

  • Properties
    字典根据需要保存任何自定义客户端特定值。

56.2 认证/注销

  • PostLogoutRedirectUris
    指定在注销后重定向到的允许URI。有关更多详细信息,请参阅OIDC Connect会话管理规范

  • FrontChannelLogoutUri
    指定客户端的注销URI,以用于基于HTTP的前端通道注销。有关详细信息,请参阅OIDC Front-Channel规范

  • FrontChannelLogoutSessionRequired
    指定是否应将用户的会话ID发送到FrontChannelLogoutUri。默认为true

  • BackChannelLogoutUri
    指定客户端的注销URI,以用于基于HTTP的反向通道注销。有关更多详细信息,请参阅OIDC Back-Channel规范

  • BackChannelLogoutSessionRequired
    指定是否应在请求中将用户的会话ID发送到BackChannelLogoutUri。默认为true

  • EnableLocalLogin
    指定此客户端是否可以仅使用本地帐户或外部IdP。默认为true

  • IdentityProviderRestrictions
    指定可以与此客户端一起使用的外部IdP(如果列表为空,则允许所有IdP)。默认为空。

  • UserSsoLifetime添加在2.3中
    自上次用户进行身份验证以来的最长持续时间(以秒为单位)。默认为null。您可以调整会话令牌的生命周期,以控制在使用Web应用程序时,用户需要重新输入凭据的时间和频率,而不是进行静默身份验证。

56.3 Token

  • IdentityTokenLifetime
    身份令牌的生命周期,以秒为单位(默认为300秒/ 5分钟)

  • AccessTokenLifetime
    访问令牌的生命周期,以秒为单位(默认为3600秒/ 1小时)

  • AuthorizationCodeLifetime
    授权代码的生命周期,以秒为单位(默认为300秒/ 5分钟)

  • AbsoluteRefreshTokenLifetime
    刷新令牌的最长生命周期(秒)。默认为2592000秒/ 30天

  • SlidingRefreshTokenLifetime
    滑动刷新令牌的生命周期,以秒为单位。默认为1296000秒/ 15天

  • RefreshTokenUsage
    ReUse 刷新令牌时,刷新令牌句柄将保持不变

    OneTime刷新令牌时将更新刷新令牌句柄。这是默认值。

  • RefreshTokenExpiration
    Absolute 刷新令牌将在固定时间点到期(由AbsoluteRefreshTokenLifetime指定)

    Sliding刷新令牌时,将刷新刷新令牌的生命周期(按SlidingRefreshTokenLifetime中指定的数量)。生命周期不会超过AbsoluteRefreshTokenLifetime

  • UpdateAccessTokenClaimsOnRefresh
    获取或设置一个值,该值指示是否应在刷新令牌请求上更新访问令牌(及其声明)。

  • AccessTokenType
    指定访问令牌是引用令牌还是自包含JWT令牌(默认为Jwt)。

  • IncludeJwtId
    指定JWT访问令牌是否应具有嵌入的唯一ID(通过jti声明)。

  • AllowedCorsOrigins
    如果指定,将由默认CORS策略服务实现(内存和EF)用于为JavaScript客户端构建CORS策略。

  • Claims
    允许客户端的设置声明(将包含在访问令牌中)。

  • AlwaysSendClientClaims
    如果设置,将为每个流发送客户端声明。如果不是,仅用于客户端凭证流(默认为false

  • AlwaysIncludeUserClaimsInIdToken
    在请求id token和access token时,如果用户声明始终将其添加到id token而不是请求客户端使用userinfo endpoint。默认值为false

  • ClientClaimsPrefix
    如果设置,将以前缀为前缀客户端声明类型。默认为client_。目的是确保它们不会意外地与用户声明冲突。

  • PairWiseSubjectSalt
    对于此客户端的用户,在成对的subjectId生成中使用的salt值。

56.4 确认页面

  • RequireConsent
    指定是否需要同意屏幕。默认为true

  • AllowRememberConsent
    指定用户是否可以选择存储同意决策。默认为true

  • ConsentLifetime
    用户同意的生命周期,以秒为单位。默认为null(无到期)。

  • ClientName
    客户端显示名称(用于记录和同意屏幕)

  • ClientUri
    有关客户端的更多信息的URI(在同意屏幕上使用)

  • LogoUri
    URI到客户端徽标(在同意屏幕上使用)

56.5 设备流程

  • UserCodeType
    指定用于客户端的用户代码的类型。否则使用默认值。

  • DeviceCodeLifetime
    设备代码的生命周期,以秒为单位(默认为300秒/ 5分钟)

github地址

第56章 Client - Identity Server 4 中文文档(v1.0.0)的更多相关文章

  1. 第18章 启动 - Identity Server 4 中文文档(v1.0.0)

    IdentityServer是中间件和服务的组合.所有配置都在您的启动类中完成. 18.1 配置服务 您可以通过调用以下方法将IdentityServer服务添加到DI系统: public void ...

  2. 第66章 视频 - Identity Server 4 中文文档(v1.0.0)

    第66章 视频 66.1 2019 January [NDC] - 使用ASP.NET Core 2.2和3.0保护Web应用程序和API 1月[NDC] - 为基于OpenID Connect / ...

  3. 第41章 CORS - Identity Server 4 中文文档(v1.0.0)

    第41章 CORS IdentityServer中的许多端点将通过基于JavaScript的客户端的Ajax调用进行访问.鉴于IdentityServer最有可能托管在与这些客户端不同的源上,这意味着 ...

  4. 第21章 登录 - Identity Server 4 中文文档(v1.0.0)

    为了使IdentityServer能够代表用户发出令牌,该用户必须登录IdentityServer. 21.1 Cookie身份验证 使用由ASP.NET Core中的cookie身份验证处理程序管理 ...

  5. 第2章 术语 - Identity Server 4 中文文档(v1.0.0)

    规范.文档和对象模型等都使用特定的术语来表述. 2.1 IdentityServer IdentityServer是OpenID Connect提供程序 - 它实现OpenID Connect和OAu ...

  6. 第64章 学习 - Identity Server 4 中文文档(v1.0.0)

    以下是一些在线,远程和课堂培训选项,以了解有关ASP.NET Core Identity和IdentityServer4的更多信息. 64.1 现代应用程序的身份和访问控制(使用ASP.NET Cor ...

  7. 第57章 GrantValidationResult - Identity Server 4 中文文档(v1.0.0)

    该GrantValidationResult类模型补助确认为扩展授权和资源所有者密码授权的结果. 最常见的用法是使用身份验证(成功用例): context.Result = new GrantVali ...

  8. 第45章 工具 - Identity Server 4 中文文档(v1.0.0)

    该IdentityServerTools是为IdentityServer编写扩展代码时,你可能需要有效的内部工具的集合.要使用它,请将其注入代码,例如控制器: public MyController( ...

  9. 第32章 事件 - Identity Server 4 中文文档(v1.0.0)

    日志记录是更低级别的"printf"样式 - 事件代表有关IdentityServer中某些操作的更高级别信息.事件是结构化数据,包括事件ID,成功/失败信息,类别和详细信息.这使 ...

随机推荐

  1. 纯javascript实现可拖住/大小的div

    好久没写了,不得不说人懒了好多.. 也不打算实现什么太厉害的功能,因为不喜欢网上那些一大堆代码的,看的头晕,于是自己写了一个 旨在越简单越好(当然也走点形式- -其实是自己菜),所以一些宽度和高度都写 ...

  2. mysql根据查询结果批量更新多条数据(插入或更新)

    mysql根据查询结果批量更新多条数据(插入或更新) 1.1 前言 mysql根据查询结果执行批量更新或插入时经常会遇到1093的错误问题.基本上批量插入或新增都会涉及到子查询,mysql是建议不要对 ...

  3. 使用 TRESTClient 與 TRESTRequest 作為 HTTP Client 之二 (POST 檔案)

    使用 HTML 进行文件上传,已经是很平常的应用了,在手机App里面,也常常会用到这个作业,例如拍照上传,或是从相簿选取照片上传,都是很常见的. 在 HTML 的 Form 里面,要让使用者选择文件上 ...

  4. Java线程中的同步

    1.对象与锁 每一个Object类及其子类的实例都拥有一个锁.其中,标量类型int,float等不是对象类型,但是标量类型可以通过其包装类来作为锁.单独的成员变量是不能被标明为同步的.锁只能用在使用了 ...

  5. C 基于数组存储的堆栈实现

    一.堆栈简介 对于需要管理的队列,主要操作是在序列的末尾插入和取出(删除)元素,有这样操作要求的序列我们称之为堆栈(Stack). 堆栈可以认为是具有一定约束的线性表,插入和删除都作用在一个称为栈顶( ...

  6. [Swift]LeetCode92. 反转链表 II | Reverse Linked List II

    Reverse a linked list from position m to n. Do it in one-pass. Note: 1 ≤ m ≤ n ≤ length of list. Exa ...

  7. [Swift]LeetCode121. 买卖股票的最佳时机 I | Best Time to Buy and Sell Stock

    Say you have an array for which the ith element is the price of a given stock on day i. If you were ...

  8. [Swift]LeetCode329. 矩阵中的最长递增路径 | Longest Increasing Path in a Matrix

    Given an integer matrix, find the length of the longest increasing path. From each cell, you can eit ...

  9. [Swift]LeetCode377. 组合总和 Ⅳ | Combination Sum IV

    Given an integer array with all positive numbers and no duplicates, find the number of possible comb ...

  10. git push 时提示用户名或密码相关错误信息

    这里讲的是一个常见的第一次push提示输入用户名密码时,输入错误的解决办法.它导致在后面其他项目什么的在push的时候一直失败,并提示有用户名密码错误信息. 第一步:进入到“控制面板” (这里如何进入 ...