Я настраиваю гибридное приложение с аутентификацией, используя Azure, я успешно прошел аутентификацию и могу отправить обратно на перенаправленный URL-адрес «конденсатор: // локальный / обратный вызов».как только я перенаправил на URI перенаправления, приложение показывает пустой экран и ничего не рендерится или не работает (React-router, response.js).
Index.tsx
import * as React from 'react';
import * as ReactDOM from 'react-dom';
import App from './App';
import registerServiceWorker from './serviceWorker';
import { HashRouter} from 'react-router-dom';
import {Plugins} from '@capacitor/core'
import ionCapContext from '@auth/ionicCapacitor'
const { SplashScreen } = Plugins
const renderApp = function (){
const rootDiv = document.getElementById('root') as HTMLElement;
ReactDOM.render(
<HashRouter>
<App />
</HashRouter>
, rootDiv);
registerServiceWorker();
}
if (window.cordova) {
document.addEventListener("deviceready", () => {
SplashScreen.hide();
ionCapContext.AuthContext().then(d=>{
renderApp()
}).catch(e=>console.log(e))
}, false)
}
else {
renderApp()
}
ionicCapacitor.тс
import {registerWebPlugin} from "@capacitor/core";
import {OAuth2Client,OAuth2AuthenticateOptions} from '@byteowls/capacitor-oauth2';
import {
Plugins
} from '@capacitor/core';
export const authOptions:OAuth2AuthenticateOptions = {
appId:'<APPID>', authorizationBaseUrl:'https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize',
accessTokenEndpoint:'capacitor://localhost/#/AuthCallback',
scope:'user.read',
responseType:'token',
state:<State Token>,
web:{
redirectUrl:window.location.origin
},
ios:{
customScheme:'capacitor://localhost/#/AuthCallback'
}
}
class capacitorAuth {
constructor(){
registerWebPlugin(OAuth2Client);
}
async AuthContext(){
const respo = await Plugins.OAuth2Client.authenticate(authOptions)
return respo;
}
}
const ionCapContext = new capacitorAuth();
export default ionCapContext;