Tengo una aplicación web de reacción que se está convirtiendo en una aplicación móvil mediante el uso de capacitor js. He usado @byteowls/capacitor-oauth2 para la parte sso. mientras se usa en la web, se le pide al usuario que seleccione la cuenta de microsoft, pero en el móvil (android e ios), se le solicita la confirmación del inicio de sesión anterior. Traté de usar prompt=select_account en la configuración, pero el complemento no lo admite. Pude anular el código del complemento para agregar el aviso. Todavía no entiendo el diálogo rápido. móvil.
Cualquier ayuda será de gran utilidad. Disculpas por mal inglés. Gracias por adelantado.
A continuación se muestra el código.
const microsoftOAuthOptions = { appId: 'microsoftAppID', authorizationBaseUrl: 'https://login.microsoftonline.com/common/oauth2/v2.0/authorize', accessTokenEndpoint: '', scope: 'openid', responseType: 'token', logsEnabled: true, web: { redirectUrl: 'microsoftRedirectionUrl', }, android: { pkceEnabled: true, responseType: 'code', redirectUrl: 'com.xxxx.app://oauth/auth', accessTokenEndpoint: 'https://login.microsoftonline.com/common/oauth2/v2.0/token', }, ios: { pkceEnabled: true, responseType: 'code', redirectUrl: 'com.xxxxx.app://oauth/auth', accessTokenEndpoint: 'https://login.microsoftonline.com/common/oauth2/v2.0/token', }, }; const onOAuthBtnClick = async () => { OAuth2Client.authenticate(microsoftOAuthOptions).then((response) => { let accessToken = response.access_token || response.authorization_response || response.access_token_response; if (typeof accessToken === 'string') { localStorage.setItem('accessToken', accessToken); } else { localStorage.setItem( 'accessToken', accessToken.access_token || accessToken['/access_token'] ); } dispatch && dispatch(loginActions.IsUserLoggedIn(true)); dispatch && dispatch(loginActions.loginLoader()); }); }; const onLogoutClick = () => { OAuth2Client.logout(microsoftOAuthOptions) .then(() => { localStorage.clear(); dispatch && dispatch(loginActions.IsUserLoggedIn(false)); }) .catch((reason) => { console.error('OAuth logout failed', reason); }); };