configure introspection correctly
Some checks failed
Build and Publish / build-release (push) Failing after 28s
Some checks failed
Build and Publish / build-release (push) Failing after 28s
This commit is contained in:
@@ -67,8 +67,8 @@ defmodule PolicyServiceWeb.Plugs.AuthorizeRoles do
|
|||||||
|
|
||||||
defp get_roles_map(conn, roles_claim) do
|
defp get_roles_map(conn, roles_claim) do
|
||||||
case conn.private[Oidcc.Plug.IntrospectToken] do
|
case conn.private[Oidcc.Plug.IntrospectToken] do
|
||||||
%{claims: %{^roles_claim => %{} = roles_map}} ->
|
%{extra: %{^roles_claim => %{} = roles_map}} ->
|
||||||
role = Map.get(roles_map, roles_claim, %{})
|
Map.get(roles_map, roles_claim, %{})
|
||||||
role
|
role
|
||||||
|
|
||||||
_ ->
|
_ ->
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ defmodule PolicyServiceWeb.Router do
|
|||||||
plug PolicyServiceWeb.Plugs.RequireOrganizationId
|
plug PolicyServiceWeb.Plugs.RequireOrganizationId
|
||||||
plug PolicyServiceWeb.Plugs.ExtractOrganizationId
|
plug PolicyServiceWeb.Plugs.ExtractOrganizationId
|
||||||
|
|
||||||
plug :validate
|
plug :introspect
|
||||||
plug :authorize_roles
|
plug :authorize_roles
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -46,17 +46,18 @@ defmodule PolicyServiceWeb.Router do
|
|||||||
get "/", OpenApiSpex.Plug.SwaggerUI, path: "/api/openapi"
|
get "/", OpenApiSpex.Plug.SwaggerUI, path: "/api/openapi"
|
||||||
end
|
end
|
||||||
|
|
||||||
def validate(conn, _opts) do
|
def introspect(conn, _opts) do
|
||||||
zitadel = Application.get_env(:policy_service, :zitadel)
|
zitadel = Application.get_env(:policy_service, :zitadel)
|
||||||
|
|
||||||
opts =
|
opts =
|
||||||
Oidcc.Plug.ValidateJwtToken.init(
|
Oidcc.Plug.IntrospectToken.init(
|
||||||
provider: PolicyService.ZitadelProvider,
|
provider: PolicyService.ZitadelProvider,
|
||||||
client_id: zitadel[:client_id],
|
client_id: zitadel[:client_id],
|
||||||
client_secret: zitadel[:client_secret]
|
client_secret: zitadel[:client_secret],
|
||||||
|
token_introspection_opts: %{client_self_only: false}
|
||||||
)
|
)
|
||||||
|
|
||||||
Oidcc.Plug.ValidateJwtToken.call(
|
Oidcc.Plug.IntrospectToken.call(
|
||||||
conn,
|
conn,
|
||||||
opts
|
opts
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user