Identityserver 作用:
- protect your resources
- authenticate users using a local account store or via an external identity provider
- provide session management and single sign-on
- manage and authenticate clients
- issue identity and access tokens to clients
- validate tokens
api 验证token的第三方包
- JWT bearer authentication handler for ASP.NET Core
- JWT bearer authentication middleware for Katana
- IdentityServer authentication middleware for Katana
- jsonwebtoken for nodejs
具体写法参见:http://docs.identityserver.io/en/latest/topics/apis.html
今天试验下来,api去做Authorize 保护的时候,不需要去call 授权服务器,只是验证下token是否符合和配置一样,今天尝了下通过openam生成的token也可以用JWT bearer authentication handler for ASP.NET Core,来做保护.
scope的作用
在解析access token 和 id token的时候发现,access_token,是有scope的
id_token是没有scope的
而且aud 是不一样的,如果从权限安全的角度上来考虑或者说扩展性来说,API保护应该用access_token,而id_token用来获取用户的信息的,id_token的aud就是clientid,这个只是针对IDS4,Azure 的api保护我目前都是用id_token来做的。