-
Notifications
You must be signed in to change notification settings - Fork 0
/
ClientStore.cs
73 lines (70 loc) · 2.29 KB
/
ClientStore.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
using System.Collections.Generic;
using IdentityServer4;
using IdentityServer4.Models;
namespace AuthApiDemo
{
public class ClientStore
{
public static IEnumerable<ApiResource> GetApiResources()
{
return new List<ApiResource>
{
new ApiResource("api")
};
}
public static IEnumerable<IdentityResource> GetIdentityResources()
{
return new List<IdentityResource>
{
new IdentityResources.OpenId()
};
}
public static List<ApiScope> ApiScopes
{
get
{
List<ApiScope> apiScopes =
new List<ApiScope>();
apiScopes.Add(new ApiScope
("api", "Web API"));
return apiScopes;
}
}
public static IEnumerable<Client> GetClients()
{
var list = new List<Client> { new Client
{
ClientName = "Client Credential Flow",
ClientId = "client_credential_flow",
AllowedGrantTypes = GrantTypes.ClientCredentials,
ClientSecrets =
{
new Secret("client_credential_flow_secret".Sha256())
},
AllowedScopes ={"api"},
AllowOfflineAccess = false,
AccessTokenLifetime = 60
},new Client
{
ClientName = "Resource Owner Flow",
ClientId = "resource_owner_flow",
AllowedGrantTypes = GrantTypes.ResourceOwnerPassword,
ClientSecrets =
{
new Secret("resource_owner_flow_secret".Sha256())
},
AllowedScopes =
{
IdentityServerConstants.StandardScopes.OpenId,
IdentityServerConstants.StandardScopes.OfflineAccess
},
AllowOfflineAccess = true,
RefreshTokenUsage = TokenUsage.ReUse,
AccessTokenLifetime = 60,
RefreshTokenExpiration = TokenExpiration.Absolute,
AbsoluteRefreshTokenLifetime = 300
}};
return list;
}
}
}