美文网首页
自定义授权类型

自定义授权类型

作者: 灭蒙鸟 | 来源:发表于2017-02-25 18:07 被阅读334次

layout: docs-default

自定义授权类型

令牌 endpoint 可以扩展接受自定义授权类型。
下面是用自定义授权类型申请令牌的例子。

POST /connect/token
Authorization: Basic xxx:yyy

grant_type=my_custom_credential&
scope=api1&
my_credential=foobar&
some_other_parameter=quux&

使用IdentityServer的扩展机制,我们可以注册一个自定义授权的验证器来使用验证my_custom_credential`.
自定义授权验证器的工作室验证传入的数据,并把他映射到IdentityServer的用户上。
首先需要实现下面的接口:

public interface ICustomGrantValidator
{
    Task<CustomGrantValidationResult> ValidateAsync(ValidatedTokenRequest request);
    string GrantType { get; }
}

GrantType 属性用来指定哪一个自定义授权类型,这个验证器回来处理。ValidateAsync方法用来获取原始请求中的数据 (比如:像例子中的读取自定义的参数)并验证像作用域和客户端id等工作。
验证结果或者是一个映射到用户的Principal(带声明),或者是一个错误信息。
通过下面的方法来注册自定义授权验证器:

factory.CustomGrantValidators.Add( 
    new Registration<ICustomGrantValidator, MyCustomGrantValidator>());

要使用这个自定义验证器,需要按照下面的方法来定义配置:

  • Flow 必须设置为 Custom
  • AllowedCustomGrantTypes必须包含自定义授权类型
    典型的自定义验证器用来在令牌类型间转换(比如:SAML到JWT或者Facebook到JWT),来桥接这两个身份管理系统。

请参看 rfc7521 - Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants 了解更多。

相关文章

  • 自定义授权类型

    layout: docs-default 自定义授权类型 令牌 endpoint 可以扩展接受自定义授权类型。下面...

  • 实战!微服务 认证中心 如何扩展授权模式 实现多种方式登录?

    为什么需要自定义授权类型? 前面介绍OAuth2.0的基础知识点时介绍过支持的4种授权类型,分别如下: 授权码模式...

  • 阿里云服务器

    外网访问配置配置规则:出方向、入方向协议类型:自定义 TCP端口范围:8080/8080授权对象:0.0.0.0/...

  • 05-oauth2-AuthorizationServer

    AuthorizationServer 配置一个授权服务,需要考虑 授权类型(GrantType)、不同授权类型为...

  • RDS-RAM授权

    RAM中可对RDS资源进行授权的Action地域和可用区 RDS单实例只读授权 创建自定义授权策略 授权(Reso...

  • mysql授权

    授权格式: 授权参数讲解: privilegesCode表示授予的权限类型,常用的有以下几种类型: all pri...

  • 自定义内容类型

    内容类型 - Custom Post Types 1.自定义内容类型 文章:posts 页面:pages自定义文章...

  • iOS 添加自定义的UTL

    存在的UTL类型 自定义添加UTL类型 1、在Exported Type UTIs中添加自定义类型,需要有对应的填...

  • Object.prototype.toString.call(o

    typeof 不能判断引用型对象的类型,结果都是object。(无法区分自定义对象类型,自定义类型可以采用inst...

  • 静态类型&自定义类型&基础类型&对象类型

    静态类型 自定义类型 基础类型 null、nudefined、symbol、boolean、void 基础类型 对象类型

网友评论

      本文标题:自定义授权类型

      本文链接:https://www.haomeiwen.com/subject/aklmyttx.html