• 第47章 授权端点(Authorize Endpoint)


    授权端点可用于通过浏览器请求令牌或授权码。此过程通常涉及最终用户的身份验证和可选的同意。

    注意
    IdentityServer支持OpenID Connect和OAuth 2.0授权请求参数的子集。有关完整列表,请参见此处

    • client_id
      客户的标识符(必填)。

    • scope
      一个或多个注册范围(必填)

    • redirect_uri
      必须与该客户端允许的重定向URI之一完全匹配(必需)

    • response_type

      • id_token 请求身份令牌(仅允许身份范围)
      • token 请求访问令牌(仅允许资源范围)
      • id_token token 请求身份令牌和访问令牌
      • code 请求授权码
      • code id_token 请求授权代码和身份令牌
      • code id_token token 请求授权代码,身份令牌和访问令牌
    • response_mode

      • form_post 将令牌响应作为表单发送而不是片段编码重定向(可选)
    • state
      identityserver将回显令牌响应的状态值,这是针对客户端和提供者之间的往返状态,关联请求和响应以及CSRF /重放保护。(推荐的)

    • nonce
      identityserver将回显身份令牌中的nonce值,这是为了重放保护)
      通过隐式授权对身份令牌是必需的。

    • prompt

      • none请求期间不会显示任何UI。如果这是不可能的(例如,因为用户必须登录或同意),则返回错误
      • login 即使用户已登录并具有有效会话,也会显示登录UI
    • code_challenge
      发送PKCE的代码质询

    • code_challenge_method
      plain表示挑战是使用纯文本(不推荐) S256表示使用SHA256对挑战进行哈希处理

    • login_hint
      可用于预先填写登录页面上的用户名字段

    • ui_locales
      提供有关登录UI所需显示语言的提示

    • max_age
      如果用户的登录会话超过最大年龄(以秒为单位),将显示登录UI

    • acr_values
      允许传递其他身份验证相关信息 - 身份服务器特殊情况下面的专有acr_values:

      • idp:name_of_idp 绕过login / home领域屏幕并将用户直接转发到选定的身份提供者(如果允许每个客户端配置)
      • tenant:name_of_tenant 可用于将租户名称传递给登录UI

    GET /connect/authorize?
        client_id=client1&
        scope=openid email api1&
        response_type=id_token token&
        redirect_uri=https://myapp/callback&
        state=abc&
        nonce=xyz
    

    (删除了URL编码,并添加了换行符以提高可读性)

    注意
    您可以使用IdentityModel客户端库以编程方式创建授权请求.NET代码。有关更多信息,请查看IdentityModel文档

    github地址

  • 相关阅读:
    安装oracle11g服务端
    安装oracle11g客户端
    Python生成requirements.txt方法
    oracle创建新用户并授予权限
    正向代理与反向代理【总结】
    使用Eclipse调试Java程序的10个技巧
    如果长颈鹿哭了,它会不会要哽咽好久
    你应该知道的10种软件工具
    我希望在20岁时就知道的26条时间管理技巧
    Vue使用NProgress (NProgress是页面跳转是出现在浏览器顶部的进度条)
  • 原文地址:https://www.cnblogs.com/thinksjay/p/10787293.html
Copyright © 2020-2023  润新知