【问题标题】:.NET API and Keycloak.NET API 和 Keycloak
【发布时间】:2022-10-20 19:28:28
【问题描述】:

我已经设置了 Keycloak 服务器和前端,但我似乎无法理解如何在我的 .NET 5 后端 API 上设置它。我在 Keycloak 上设置了一个后端客户端和一个前端客户端。 客户端协议是 openid-connect 并且访问类型在两个客户端的 Keycloak 中都是公共的,但我可以在必要时更改它。

前端可以找到并且我可以登录,前端将根据请求将令牌发送到带有值“Bearer”+令牌的标头(授权)的API。

在控制器中,我添加了 Authorize 标签:

        [Authorize]
        [HttpGet]
        public IActionResult GetAllRelays()
        {

所有带有 [Authorize] 标签的端点都返回 401 atm。

在 Startup.cs 我有:

            services.AddAuthentication(options =>
            {
                options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
            }).AddJwtBearer(o =>
            {
                o.Authority = KeycloakServerRealm;
                o.Audience = KeycloakClientId;
                o.MetadataAddress = KeycloakServerRealm + "/.well-known/openid-configuration";
            });

KeycloakServerRealm 是:“https://dev.my-domain.com/auth/realms/my-realm”

KeycloakMetadata 是:“https://dev.my-domain.com/auth/realms/my-realm/.well-known/openid-configuration”

KeycloakClientId 是:“我的后端客户端 ID”

我还需要做什么?

【问题讨论】:

    标签: c# .net-core keycloak openid


    【解决方案1】:

    不确定您是否仍然遇到此问题,但如果有人遇到此问题,请参阅此博客上有关实施 keycloak 后端令牌验证的完整详细指南:https://blog.devgenius.io/security-in-react-and-webapi-in-asp-net-core-c-with-authentification-and-authorization-by-keycloak-f890d340d093

    【讨论】:

      猜你喜欢
      • 2021-12-08
      • 2019-09-26
      • 2018-12-12
      • 2018-09-25
      • 2019-11-08
      • 2018-08-25
      • 2018-06-21
      • 2016-04-30
      • 2019-02-08
      相关资源
      最近更新 更多