Identity Server 4 с appAuth - как установить дополнительные параметры для appAuthResponse в IDS4
Мы используем библиотеку React Native appAuth ( https://github.com/FormidableLabs/react-native-app-auth) с Identity Server 4. и пытаемся использовать дополнительные параметры в ответе. Причина этого в том, что у нас есть селектор языка на странице входа в IDS4, и мы хотим отправить выбранный язык обратно в приложение Native, и библиотека appAuth получит его, чтобы приложение могло соответствующим образом настроить его. Как мне изменить Identity Server, чтобы сделать это
return authorize(Auth.getConfig())
.then(authDetails => {
const { lang } = authDetails.additionalParameters;
if (!lang) return authDetails;
return Auth.setUserLang(lang, authDetails.accessToken).then(() => authDetails);
})
.then(authDetails => {
store.dispatch(addAuth(authDetails));
return authDetails;
})
.catch(e =>
Auth.logout().then(() => {
throw e;
})
);
static getConfig() {
const { apis: { identityServerURL } } = store.getState();
return {
issuer: identityServerURL,
clientId: IDENTITY_SERVER_CLIENT_ID,
redirectUrl,
additionalParameters: {},
scopes: ['openid', 'profile', 'offline_access'],
dangerouslyAllowInsecureHttpRequests: true,
};
}
Я пытался использовать ICustomAuthorizeRequestValidator
context.Result.ValidatedRequest.RedirectUri = $"{context.Result.ValidatedRequest.RedirectUri}?lang={context.Result.ValidatedRequest.UiLocales}";
но это не работает как ошибки сервера идентификации с "Error","MessageTemplate":"Недопустимый redirect_uri: {redirectUri}, ожидается {exceptionRedirectUri}","Properties":{"redirectUri":"icisapp:/oauthredirect","кроме RedirectUri" ":" icisapp: / oauthredirect LANG = ж"
У кого-нибудь есть идеи?