Я пытаюсь использовать Библиотека Okta Vue в проекте Vue + TypeScript. Раньше я мог использовать их библиотеку React в проекте React + TypeScript, создав файл okta.d.ts и добавив к нему следующее:
declare module '@okta/okta-react';
Когда я пробую что-то подобное с Vue, я получаю сообщение об ошибке:
This dependency was not found:
* vue/types/vue in ./node_modules/cache-loader/dist/cjs.js??
ref--13-0!./node_modules/babel-loader/lib!./node_modules/ts-loader??
ref--13-2!./node_modules/cache-loader/dist/cjs.js??ref--0-0!
./node_modules/vue-loader/lib??vue-loader-options!
./src/App.vue?vue&type=script&lang=ts&
To install it, you can run: npm install --save vue/types/vue
Я посмотрел на Документация Vue по TypeScript и обнаружил, что это может быть более вовлечено. Итак, я попробовал:
import Vue from 'vue'
declare module 'vue/types/vue' {
interface Vue {
$auth: any
}
}
Затем я изменил свой main.ts на следующий:
import Vue from 'vue';
import App from './App.vue';
import router from './router';
import './registerServiceWorker';
Vue.config.productionTip = false;
const vue: Vue = new Vue({
router,
render: (h) => h(App),
}).$mount('#app');
export const Auth = vue.$auth;
Vue.use(Auth, {
issuer: ...,
client_id: ...,
redirect_uri: window.location.origin + '/implicit/callback',
scope: 'openid profile email',
});
Однако я по-прежнему получаю ту же ошибку. Любые идеи?
Я смог заставить все работать после того, как создал свой собственный компонент ImplicitCallback. См. github.com/okta/okta-oidc-js/issues/352#issuecomment-4430656 55 для получения дополнительной информации. Auth работает, теперь борюсь с проблемами Vue: github.com/oktadeveloper/spring-boot-vue-example/issues






Я немного продвинулся, используя @ типы / okta__okta-vue. Однако я не могу заставить обратный вызов работать после входа в систему. Может быть, это связано с некоторыми изменениями, произошедшими с 1.0.1 (когда был создан модуль @types)? Вот мой router.ts. Я создал пул реквест, чтобы обновить его.