Вы можете установить дополнительные параметры на AuthorizationRequest
. AuthorizationRequest
реализует шаблон сборки. У него есть метод setAdditionalParameters(Map<String, String> additionalParameters)
, в котором вы можете указать любые параметры для запроса авторизации.
Пример из демо-приложения AppAuth-Android:
Map<String, String> additionalParams = new HashMap<>();
additionalParams.put("nonce","<some_nonce_value>");
AuthorizationRequest.Builder authRequestBuilder = new AuthorizationRequest.Builder(
mAuthStateManager.getCurrent().getAuthorizationServiceConfiguration(),
mClientId.get(),
ResponseTypeValues.CODE,
mConfiguration.getRedirectUri())
.setScope(mConfiguration.getScope())
.setAdditionalParameters(additionalParams);
Ну, необходимо определить args и возможно делегировать где-нибудь. Вы не делаете потребность второй файл, но я, вероятно, рекомендовал бы это..., но классы не должны, вероятно, быть , вложил , если это было исходной проблемой.
рекомендация состоит в том, чтобы использовать стандарт "отправитель, args" шаблон; существует два подхода cmmon:
1: объявите класс события-args отдельно и используйте EventHandler<T>
в интерфейсе:
public class MySpecialEventArgs : EventArgs {...}
...
EventHandler<MySpecialEventArgs> MyEvent;
2: объявите класс события-args и делегируйте тип отдельно:
public class MySpecialEventArgs : EventArgs {...}
public delegate void MySpecialEventHandler(object sender,
MySpecialEventArgs args);
....
event MySpecialEventHandler MyEvent;
Принятие C# 2.0 или позже...
public class MyEventArgs: EventArgs
{
// ... your event args properties and methods here...
}
public interface IMyInterface
{
event EventHandler<MyEventArgs> MyEvent;
}