【问题标题】:How to authenticate user in microservice architecture with Lumen如何使用 Lumen 对微服务架构中的用户进行身份验证
【发布时间】:2020-05-28 01:39:10
【问题描述】:

我是微服务架构的新手。我正在阅读它并开始对使用该架构开发网站感兴趣。 我用过 Lumen 微框架。

我要问你的问题已经在互联网上浏览过,但我找不到路。所以,我终于接触到了stackoverflow。下面是我当前实现的概述。

到目前为止,我能够从 api 网关请求用户、患者、治疗等数据并正确获取响应数据。

当客户端请求姓名、部门等用户数据时,客户端请求此路由http://localhost:8000/users/1,(假设端口 8000 用于 api 网关,8001 用于用户服务)并且网关转到 8001 并获取用户数据。

我还启用了 api 网关和单个服务之间的授权,以防止对单个服务单独执行 CRUD 操作 - 当请求从网关发送到服务时,我已经放置了预生成的令牌(这也是在service) 在标头中,当它到达服务时,服务通过比较其预定义的令牌来验证令牌是否相等。所以,它正在工作。

但是为了能够从 api 网关请求服务,我使用了 client credentials 授权类型。所以,这是我的问题。

如何实现登录和注册?是否有客户端凭据 授权类型允许这样做吗?如果不是,什么是合适的?什么 是实施该系统的正确方法吗?你能解释一下吗 进步?非常感谢。

更新 总之,我想知道如何配置前端和api网关之间的身份验证。

【问题讨论】:

    标签: authentication oauth-2.0 authorization microservices lumen


    【解决方案1】:

    您的 API 架构看起来不错 - 无需更改任何内容。然而,架构有 3 个部分:

    • API(完成)
    • UI(待办事项)
    • 授权服务器(也许使用免费的云服务器?)

    下一步可能专注于登录。我的tutorial 将帮助您了解交互以及需要在 UI 中编码的内容。或者,如果您更喜欢查看message workflow

    注册用户可能是一个更复杂的主题,并且取决于系统的类型。如果有帮助,很乐意回答后续问题。

    【讨论】:

    • 谢谢加里。我在前端使用 React。授权服务器呢?我需要使用第三方的吗?我不能自己做吗?请提及您的免费云服务。
    • 对于您的 React UI,我建议您插入 oidc 客户端库来为您完成工作 - 就像在我的教程中一样。授权服务器是一个复杂而关键的组件,所以不要自己构建。可能从 Okta 开始,就像我的情况一样(免费的开发人员版本)或使用 AWS Cognito(免费,除非您有大量请求)。如果您以正确的方式对 UI 和 API 进行编码,您以后可以轻松地更换提供程序。
    猜你喜欢
    • 2015-09-11
    • 1970-01-01
    • 2021-07-26
    • 2020-03-13
    • 1970-01-01
    • 2020-05-02
    • 2021-04-26
    • 2022-08-18
    • 2018-09-24
    相关资源
    最近更新 更多