【问题标题】:Symfony bundle - REST API Two types of authenticationSymfony bundle - REST API 两种类型的身份验证
【发布时间】:2019-05-16 09:19:59
【问题描述】:

这是一个意见请求。 我正在开发一个 Symfony4 包,它将与 SMS 服务的 REST API 交互。 该服务有两种身份验证方式:

  1. 如果未发送请求,则获取 5 分钟后过期的 Session Id
  2. 获取令牌始终有效

通过向身份验证方法提供用户名和密码来检索两者,然后在每个 curl 标头请求中使用它们。

我的问题是:我应该在我的捆绑包中提供两种类型的身份验证还是应该只选择一种?

如果两者都可用,因为我的包将提供一个服务来与 SMS 应用程序交互,我是否应该在配置中添加要使用的身份验证类型?

mysms_bundle:
  usernam: myuser
  password: mypass
  auth_type: token
  # You can also use session
  # auth_type: session

谢谢

【问题讨论】:

    标签: php api symfony4


    【解决方案1】:

    我认为您可能应该允许两种类型的身份验证,并让用户选择哪种是首选的身份验证方法(如果两者都可用)。 无论如何,如果第一次失败,您应该回退到其他身份验证方法。

    并将该偏好默认设置为更安全的一种(或外部服务文档首选或建议的一种)。

    【讨论】:

    • 那么建议的配置可以吗? auth_type 的默认值是“token”,用户可以更改它。我认为授权回退机制不是一个好主意,除非您让用户使用fallback_auth: true 配置变量选择该解决方案。即使每次 api 调用都更新了会话,过期会话也会很有用。你怎么看?
    • 是的,没错。选择加入(或退出)后备方案是个好主意
    猜你喜欢
    • 1970-01-01
    • 2018-02-05
    • 2013-06-06
    • 2021-08-02
    • 2018-01-01
    • 2018-07-26
    • 2016-09-04
    • 2017-12-15
    • 2019-03-31
    相关资源
    最近更新 更多