zoukankan      html  css  js  c++  java
  • IdentityServer3零星笔记

    Scope
    是什么?有哪几种类型?每种类型都怎么使用?
    StandardScopes.All是什么概念?
    解释:在Scope的Claims属性里包含的所有声明(类型是ScopeClaim,它的name属性对应于User里的Claims属性里指定的声明的'声明类型'所对应的'声明类型'的值)
    请求时通过指定所需要的scope,来根据scope里约定的声明去取用户里匹配相应声明类型的值的声明

    资源授权:是通过:Thinktecture.IdentityModel.Owin.ResourceAuthorization.Mvc 实现(webapi应该也有相应的包)
    可以通过为Controller的方法指定特征:[ResourceAuthorize("Read", "ContactDetails")] 参数依次是: action、resources;然后通过重写ResourceAuthorizationManager类的方法CheckAccessAsync来实现细粒度的资源授权。

    Client
    Client可以访问的Scope可以通过它的属性来配置;也可以配置为可以访问所有的Scope(AllowAccessToAllScopes = true)

    User
    User也许必须至少有3个属性:Username、Password、Subject
    User可以有一个声明对象数组,每个声明(Claim)都用来表示什么?
    需要我研究如何用EF持久化User的数据;IdentityServer提供对Asp.net Identity和MemeberShipReboot的直接支持

    Claim
    声明可以有声明类型、声明的值
    可能每个Claim实体对象都可以看作一个Claim类型

    Thinktecture IdentityServer v3 是一个.NET 平台上开源的OpenID Connect 提供者 和 OAuth2 验证服务器。


    下面的代码片段使用服务端客户凭据获得sampleApi的访问令牌。
    private async Task<TokenResponse> GetTokenAsync()
    {
    var client = new TokenClient(
    "https://localhost:44319/identity/connect/token",
    "mvc_service",
    "secret");

    return await client.RequestClientCredentialsAsync("sampleApi");
    }

  • 相关阅读:
    CentOS 7 nginx+tomcat9 session处理方案之session保持
    利用tcp三次握手,使用awl伪装MAC地址进行多线程SYN洪水攻击
    Docker 基础 (一)
    去哪儿笔试的三个编程题
    [PAT乙级题解]——宇宙无敌加法器
    结构型设计模式
    行为型设计模式
    [PAT乙级题解]——快速排序
    创建型设计模式
    [PAT乙级题解]——试密码
  • 原文地址:https://www.cnblogs.com/Ceri/p/8024173.html
Copyright © 2011-2022 走看看