Identity Server 4 - Аутентификация пользователя - Конфиденциальное приложение - Секрет нескольких клиентов - Один Client_ID

Из Javadoc для @Inherited:

Указывает, что тип аннотации автоматически унаследован. Если в объявлении типа аннотации присутствует унаследованная мета-аннотация, и пользователь запрашивает тип аннотации в объявлении класса, а объявление класса не имеет аннотации для этого типа, тогда суперкласс класса будет автоматически запрашиваться для типа аннотации. Этот процесс будет повторяться до тех пор, пока не будет найдена аннотация для этого типа или не будет достигнута вершина иерархии классов (объект). Если у суперкласса нет аннотации для этого типа, тогда запрос будет указывать, что этот класс не имеет такой аннотации. Обратите внимание, что этот тип мета-аннотации не действует, если аннотированный тип используется для аннотации чего-либо, кроме класса. Обратите внимание также, что эта мета-аннотация позволяет только унаследовать аннотации от суперклассов; аннотации на реализованных интерфейсах не влияют.

blockquote>

С другой стороны, валидаторы JSR 305 выполняют своего рода поиск наследования. Если у вас есть иерархия классов:

//Person.java
@Nonnull
 public Integer getAge() {...}

//Student.java (inherits from Person)
@Min(5)
public Integer getAge() {...}

Тогда эффективными валидациями на Student.getAge() являются @Nonnull @Min(5). @Nonnull не имеет мета-аннотации @Inherited.

0
задан vishak os 18 March 2019 в 16:04
поделиться

1 ответ

Если вы намерены завершить процесс входа в систему в самом мобильном приложении, а не в клиенте браузера, вам нужно будет использовать resource owner credentials тип предоставления, и в этом случае не имеет значения, есть ли у вас один или несколько секретов в магазине, поскольку он аутентифицирует одного клиента в соответствии с вашим сценарием.

С другой стороны, если вы намереваетесь завершить поток входа в систему в клиенте браузера, то также не имеет значения, много ли у вас секретов или одного, потому что в этом случае я предполагаю, что выбор магазина будет сделан при входе в систему. экран, как вы упомянули, который будет частью сервера аутентификации.

В общем, нигде в вашем потоке местоположение магазина, кажется, не имеет значения, если нет какой-либо связи между учетными данными пользователя и идентификатором магазина. Если это так, то это по сути вопрос с несколькими арендаторами для Identity Server 4, для которого уже есть обсуждения с предложениями.

https://github.com/IdentityServer/IdentityServer4/issues/2673

Как защитить мультитенантный API с помощью Identity Server? [ 117]

0
ответ дан Vidmantas Blazevicius 18 March 2019 в 16:04
поделиться