当前位置 : 主页 > 网络推广 > seo >

在.Net Core中检索Stormpath中的用户组织?

来源:互联网 收集:自由互联 发布时间:2021-06-16
我有一个使用Stormpath中间件进行身份验证的应用程序设置.我还有我的帐户设置来使用每个组织模型的组.它似乎登录和一切,但我正在努力找到一个合理的方法来获取组织ID或名称基于登
我有一个使用Stormpath中间件进行身份验证的应用程序设置.我还有我的帐户设置来使用每个组织模型的组.它似乎登录和一切,但我正在努力找到一个合理的方法来获取组织ID或名称基于登录的用户.

使用Stormpath.SDK.Account引用,我可以执行以下操作:

private readonly IAccount _account;
var name = _account.FullName;

我希望有类似的东西可以检索组织,但我没有在他们的SDK参考中找到任何东西.到目前为止,我已经尝试过:

从我的索赔中检索组织. This looks like it’ll be available via the “onk” claim,但是从以下代码查看_claim的属性时我没有看到这个选项:

ClaimsPrincipal _claim = new ClaimsPrincipal(User.Identity);
            var OrganizationId = _claim.FindFirst("onk").Value;

我也没有看到从标题中检索组织的方法.它是appears that Host is available in the header,但SDK for Core似乎不允许我这样做.

理想情况下,我希望用户能够登录而不将其租户指定为子域或登录表单中的字段.由于它将按顺序通过我的组织商店,我希望这是可行的.

关于我缺少的任何想法?

在Stormpath中可以使用名称密钥.

如何创建组织

var bankOfAOrg = client.Instantiate<IOrganization>()
     .SetName("Bank of A")
     .SetNameKey("bank-of-a")
     .SetStatus(OrganizationStatus.Enabled);

将帐户存储添加到组织:

// With a reference to an IDirectory:
var newMapping = await bankOfAOrg.AddAccountStoreAsync(existingDirectory);

// Or simply by href:
newMapping = await bankOfAOrg.AddAccountStoreAsync("directory_href");

为了能够以上述方式向组织添加组和帐户,我们还应确保将此帐户存储标记为帐户和组的默认值:

newMapping.SetDefaultAccountStore(true)
.SetDefaultGroupStore(true);

await newMapping.SaveAsync();

将帐户添加到组织:

var chewie = client.Instantiate<IAccount>()
   .SetGivenName("Chewbacca")
   .SetSurname("the Wookiee")
   .SetUsername("rrwwgggh")
   .SetEmail("chewie@kashyyyk.rim")
   .SetPassword("Changeme123!");
   chewie.CustomData.Put("favoriteShip", "Millennium Falcon");

await bankOfAOrg.CreateAccountAsync(chewie);

欲了解更多信息,请查看here.

网友评论