• 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");
    }

  • 相关阅读:
    Privacy Policy
    MINE
    IOS的浅拷贝和深拷贝
    Mine
    IOS8Preview-xCode_6
    IOS8Preview-Huge for developer and Massive for everyone else
    java-Filter
    Java-servlet
    Java-基本的程序设计结构
    银行应用系统安全性设计(3):密钥及其管理
  • 原文地址:https://www.cnblogs.com/Ceri/p/8024173.html
Copyright © 2020-2023  润新知