我正在开发和API(laravel passport)服务以及使用api的第一方应用程序(VueJs)。
Api将有2个部分
公开 - 表示用户无需登录即可查看内容
私人 - 表示用户需要登录才能看到内容
公共区域的令牌:
由于应用程序是由受信任的源(api的相同开发人员)开发的,因此我应该使用 客户端凭据 grant-type。但是,由于这也是一个Web应用程序,因此无法保证客户端凭据的机密性。
那么我需要使用 隐式 授权类型,其中不需要client_secret。然后,用户必须进行授权,这对第一方应用程序没有多大意义。
私人区域代码:
很明显,我只需要使用资源所有者密码凭据授权类型。由于客户端凭据仍将与用户凭据一起传递,因此会产生混淆。客户端凭据可以在公共区域使用。
我很困惑,因为在这种情况下应该使用哪种授权类型?或者只是一起使用不同的授权类型可以吗?