我可以以编程方式邀请外部用户加入Azure Active Directory吗?

时间:2018-02-07 08:23:44

标签: azure azure-active-directory

对场景的解释: 我们正在构建一个多租户SAAS应用程序,以便在Azure中托管,并计划使用AAD对租户用户进行身份验证。

一旦客户(租户)购买许可证,我们希望以编程方式邀请第一个用户访问产品Web应用程序。

除此之外,我们计划在产品的Web应用程序中添加功能,以使管理员用户能够邀请其组织中的其他用户访问Web应用程序。

即。我们计划使用AAD作为Azure托管产品的识别mgt /身份验证提供程序。任何关于这种方法的反馈都将非常感激。

谢谢

1 个答案:

答案 0 :(得分:1)

对于您的场景,我认为最好使用代码并调用api来实现您的目标。您可以使用Microsoft Graph并使用the invitation API创建新邀请。邀请会向组织添加外部用户。

Here is a code sample用于调用邀请API来邀请用户,仅限于应用"模式,获取您邀请B2B用户的资源的兑换URL。目标是发送自定义邀请电子邮件。该电子邮件可以由HTTP客户端组成,因此您可以自定义其外观并通过Graph API发送。

    private List<TwitterFollowers> fetchResults2(Response<FollowersResponseModel> response) {
    FollowersResponseModel responseModel = response.body();
    return responseModel.getResults();
}

    private long fetchResults3(Response<FollowersResponseModel> response) {
    FollowersResponseModel responseModel = response.body();
    Log.e("lol",String.valueOf(responseModel.getNextCursor()));
    return responseModel.getNextCursor();
}

    private void loadTwitterFollowers() {
    MyTwitterApiClient myTwitterApiClient = new MyTwitterApiClient(twitterSession);
    do {
    myTwitterApiClient.getCustomTwitterService2().list(loggedUserTwitterId, cursor).enqueue(new retrofit2.Callback<FollowersResponseModel>() {
        @Override
        public void onResponse(Call<FollowersResponseModel> call, Response<FollowersResponseModel> response) {
            Log.e("onResponse",response.toString());
            twitterFollowers = fetchResults2(response);
            getActivity().setTitle(String.valueOf(twitterFollowers.size())+ " Followers");
            cursor = fetchResults3(response);

            Log.e("onResponse","twitterfollowers:"+twitterFollowers.size());
            adapter.notifyDataSetChanged();
        }

        @Override
        public void onFailure(Call<FollowersResponseModel> call, Throwable t) {
            Log.e("onFailure",t.toString());
        }

    });
    }
    while (cursor != 0);
}

希望这有帮助!