因此,本机移动应用程序(Android 和 iOS)的标准 SSO 方法似乎是通过 AppAuth 库的 OAUth2 + OpenID Connect。
这一切都很好——而且实际上似乎接近优雅。
但是,如果同一个应用程序包含需要使用相同 SSO 访问资源的嵌入式 Web 视图组件(在与本机代码相同的 Web 应用程序中的同一服务器上,所有资源都需要身份验证才能访问),该怎么办?
对于初学者来说,OAuth2 访问令牌(一旦获得)不会自动传播到 Web 应用程序中的超链接请求,对吧?那么,Web 应用程序页面本身是否真的必须使用 JavaScript 重新设计才能进行这种传播?移动应用程序可以重写请求来解决这个问题,但是:
- 至少在 Android 上,这只适用于 GET 请求(对吧?)
- 更关键的是,这假设 Web 应用程序不需要在普通浏览器客户端中运行
OAuth2 在这里不是正确的方法吗?如果是这样,那似乎是一种耻辱——因为 AppAuth 对于本机应用程序方面来说似乎相当不错。它只是将基本的 Web 视图浏览融合到真正把事情弄得一团糟的图片中。
还是只有一些事实上的标准 JavaScript 库可以与 Angular 等混合使用(然后需要使用 Angular 等)?