настолько нетехнически, насколько это возможно:
Если бы вы описали что-либо о том, кто вы есть и что вам было разрешено видеть или делать, каждая из этих вещей была бы чем-то, на что вы «претендовали»быть правдой, и, таким образом, каждая «вещь» в этом списке будет «требованием».
Каждый раз, когда вы говорите кому-то что-то о себе или «заявляете», что вам разрешено что-то видеть или делать, вы вручаете ихваш список претензий.Они будут проверять с полномочиями, что ваши претензии верны, и если они верны, они будут верить чему-либо в этом списке претензий.Так что, если вы утверждаете, что вы Брэд Питт, в вашем списке утверждений говорится, что вы Брэд Питт, и это было подтверждено властью, что все ваши утверждения верны - тогда они будут верить, что вы Брэд Питт вместе счто-нибудь еще в этом списке.
Требование : то, что вы утверждаете, чтобы быть правдой.Это может быть часть информации или описание разрешения, которое вы утверждаете получить.Система, в которую вы предъявляете свои претензии, должна только понимать, что такое претензия / означает, а также иметь возможность проверять ее в уполномоченном органе.
Полномочия : Система, которая объединяет ваш список претензий и подписывает его, который в основном гласит: "По моему праву, все в этом списке верно".До тех пор, пока система, считывающая утверждения, может с правами проверять, что подпись верна, все в списке утверждений будет считаться подлинным и истинным.
Кроме того, давайте не будем называть это «проверкой подлинности на основе утверждений»вместо этого давайте назовем это «заявка на основе идентичности».
Чуть более технически:
Итак, теперь в этом процессе вы аутентифицируете , используя какой-то механизм (имя пользователя / пароль, секрет клиента, сертификати т. д.) и это дает вам знак, который доказывает, что вы являетесь тем, кем вы себя называете.Затем вы обмениваете этот токен доступа на идентификационный токен.Этот процесс будет использовать вашу личность для поиска и создания списка претензий, подписать его, а затем вернуть вам идентификационный токен, содержащий все ваши претензии.
В качестве шага авторизация , в зависимости ото том, как это реализовано, ресурс посмотрит на ваш токен идентификатора (заявки) и затем проверит, есть ли у вас необходимые заявки для доступа к этому ресурсу.
Так, например, если ресурс «CastleBlack / CommandersTower» говоритчто «вы должны иметь доступ к черному замку и быть командиром лорда, тогда он рассмотрит ваш список претензий, чтобы увидеть, истинны ли обе эти вещи.
Как видите,« претензии »могут бытьчто угодно. Это может быть роль, это может быть фактом, это может быть флаг. Это просто список пар ключ-значение, а «значение» является необязательным. Иногда нужно просто посмотреть, существует ли утверждение:
claims : [
{"type": "name", "value": "Jon Snow"},
{"type": "home", "value": "Winterfell, The North, Westeros"},
{"type": "email", "value": "jon@nightswatch-veterans.org"},
{"type": "role", "value": "veteran;deserter;"},
{"type": "department", "value": "none"},
{"type": "allowEntry", "value": "true"},
{"type": "access", "value": "castleblack;eastwatch;"}
]
Так что, если Джон войдет в систему и попытается получить доступ к ресурсу, описанному выше, ему будет отказано, потому что, хотя он является тем, кем, по его словам, он является, и у него есть доступ к черному замку,он больше не является командиром лорда, и при этом он не имеет явного доступа к башне командира, и, таким образом, не может неявно войти в башню командира лорда.
В частности, «CastleBlack», вероятно, будет [большей] областью действия, и каждыйОбласть будет определенным разрешением, но это другое обсуждение.
То, как каждое приложение имеет дело с доступом, будет отличаться, но для этого будут использоваться претензии.