2.2.4. 自定义适配器
有时,在默认情况下不支持的环境中,需要运行 JavaScript 客户端(如 Capacitor)。为了使可以在这些类型的未知环境中使用 JavasScript 客户端来传递自定义适配器。例如,第三方库可以提供这样的适配器,以便在没有问题的情况下运行 JavaScript 客户端:
import Keycloak from 'keycloak-js'; import KeycloakCapacitorAdapter from 'keycloak-capacitor-adapter'; const keycloak = new Keycloak(); keycloak.init({ adapter: KeycloakCapacitorAdapter, });
这个特定软件包不存在,但它会给出一个很好的例子,说明如何把适配器传递给客户端。
您还可以自行进行适配器,因此您必须实施 KeycloakAdapter
界面中描述的方法。例如,以下 TypeScript 代码可确保正确实现所有方法:
import Keycloak, { KeycloakAdapter } from 'keycloak-js'; // Implement the 'KeycloakAdapter' interface so that all required methods are guaranteed to be present. const MyCustomAdapter: KeycloakAdapter = { login(options) { // Write your own implementation here. } // The other methods go here... }; const keycloak = new Keycloak(); keycloak.init({ adapter: MyCustomAdapter, });
自然,您也可以通过省略类型信息而无 TypeScript 执行此操作,但要确保正确实施接口将完全与您保留。