|
19 | 19 | import com.aserto.authorizer.v2.QueryRequest; |
20 | 20 | import com.aserto.authorizer.v2.QueryResponse; |
21 | 21 | import com.aserto.authorizer.v2.api.IdentityContext; |
| 22 | +import com.aserto.authorizer.v2.api.IdentityType; |
22 | 23 | import com.aserto.authorizer.v2.api.Module; |
23 | 24 | import com.aserto.authorizer.v2.api.PolicyContext; |
24 | 25 | import com.aserto.authorizer.v2.api.PolicyInstance; |
|
32 | 33 | public class AuthzClient implements AuthorizerClient { |
33 | 34 | private final AuthorizerGrpc.AuthorizerBlockingStub client; |
34 | 35 | private final ManagedChannel channel; |
| 36 | + |
35 | 37 | public AuthzClient(ManagedChannel channel) { |
36 | 38 | client = AuthorizerGrpc.newBlockingStub(channel); |
37 | 39 | this.channel = channel; |
@@ -84,21 +86,29 @@ public List<Decision> is(IdentityCtx identityCtx, PolicyCtx policyCtx, Map<Strin |
84 | 86 | } |
85 | 87 |
|
86 | 88 | @Override |
87 | | - public Struct query(String query, PolicyCtx policyContext, Map<String, Value> values) { |
| 89 | + public Struct query(String query, IdentityCtx identityCtx, PolicyCtx policyContext, |
| 90 | + Map<String, Value> resourceCtx) { |
88 | 91 | QueryRequest.Builder queryRequestBuilder = QueryRequest.newBuilder(); |
89 | 92 | queryRequestBuilder.setQuery(query); |
90 | 93 |
|
| 94 | + IdentityContext identityContext = buildIdentityContext(identityCtx); |
91 | 95 | PolicyInstance policy = buildPolicy(policyContext.getName()); |
92 | | - Struct.Builder structBuilder = buildResourceContext(values); |
| 96 | + Struct.Builder resourceContext = buildResourceContext(resourceCtx); |
93 | 97 |
|
| 98 | + queryRequestBuilder.setIdentityContext(identityContext); |
94 | 99 | queryRequestBuilder.setPolicyInstance(policy); |
95 | | - queryRequestBuilder.setResourceContext(structBuilder); |
| 100 | + queryRequestBuilder.setResourceContext(resourceContext); |
96 | 101 |
|
97 | 102 | QueryResponse queryResponse = client.query(queryRequestBuilder.build()); |
98 | 103 |
|
99 | 104 | return queryResponse.getResponse(); |
100 | 105 | } |
101 | 106 |
|
| 107 | + @Override |
| 108 | + public Struct query(String query, PolicyCtx policyContext, Map<String, Value> resourceCtx) { |
| 109 | + return query(query, new IdentityCtx("", IdentityType.IDENTITY_TYPE_NONE), policyContext, resourceCtx); |
| 110 | + } |
| 111 | + |
102 | 112 | @Override |
103 | 113 | public Map<String, Value> decisionTree(IdentityCtx identityCtx, PolicyCtx policyCtx) { |
104 | 114 | DecisionTreeRequest.Builder decisionTreeBuilder = DecisionTreeRequest.newBuilder(); |
@@ -129,7 +139,7 @@ private PolicyInstance buildPolicy(String name) { |
129 | 139 | } |
130 | 140 |
|
131 | 141 | private IdentityContext buildIdentityContext(IdentityCtx identityContext) { |
132 | | - IdentityContext.Builder identityContextBuilder = IdentityContext.newBuilder(); |
| 142 | + IdentityContext.Builder identityContextBuilder = IdentityContext.newBuilder(); |
133 | 143 | identityContextBuilder.setIdentity(identityContext.getIdentity()); |
134 | 144 | identityContextBuilder.setType(identityContext.getIdentityType()); |
135 | 145 |
|
|
0 commit comments