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 执行此操作,但要确保正确实施接口将完全与您保留。