Orchard认证中的Role无法返回问题 2021-12-13
2021-12-15 本文已影响0人
寻找无名的特质
这两天测试使用Orchard Core 1.1作为认证服务器,发现无法返回role claim。研究Orchard代码发现有几个问题导致。首先在OrchardCore.OpenId.AccessController中的GetDestinations中进行Claims.Role的判断有点问题,RoleClaimType是http://schemas.microsoft.com/ws/2008/06/identity/claims/role,不是role。还有一个问题:在ExchangeAuthorizationCodeOrRefreshTokenGrantType方法中调用GetDestinations函数时,Principal的HasScope判断返回总是false,原因是没有设置Proncipal的scopes,在这个方法中request.GetScopes()返回为空,导致判断不正确。目前的办法是将除Permissiion外的所有的Claims返回。