我的Azure Active Directory应用程序需要以下委派权限:
现在,在我完成了同意框架(通过以管理员用户的身份从表单发布到applyforactority
)之后,以非管理员用户的身份登录失败,出现错误消息AADSTS90093(此操作只能由管理员执行)。无益的是,错误消息没有说明“这个操作”实际上是什么,但我怀疑它是第三个操作(访问您的组织的目录)。
这是现有的代码:
private static readonly string ClientId = ConfigurationManager.AppSettings["ida:ClientID"];
[HttpPost]
public ActionResult ApplyForConsent()
{
string signupToken = Guid.NewGuid().ToString();
string replyUrl = Url.Action("ConsentCallback", "Account", new { signupToken }, Request.Url.Scheme);
DatabaseIssuerNameRegistry.CleanUpExpiredSignupTokens();
DatabaseIssuerNameRegistry.AddSignupToken(signupToken, DateTimeOffset.UtcNow.AddMinutes(5));
return new RedirectResult(CreateConsentUrl(ClientId, "DirectoryReaders", replyUrl));
}
[HttpGet]
public ActionResult ConsentCallback()
{
string tenantId = Request.QueryString["TenantId"];
string signupToken = Request.QueryString["signupToken"];
if (DatabaseIssuerNameRegistry.ContainsTenant(tenantId))
{
return RedirectToAction("Validate");
}
string consent = Request.QueryString["Consent"];
if (!String.IsNullOrEmpty(tenantId) && String.Equals(consent, "Granted", StringComparison.OrdinalIgnoreCase))
{
if (DatabaseIssuerNameRegistry.TryAddTenant(tenantId, signupToken))
{
return RedirectToAction("Validate");
}
}
const string error = "Consent could not be provided to your Active Directory. Please contact SharpCloud for assistance.";
var reply = Request.Url.GetLeftPart(UriPartial.Authority) + Url.Action("Consent", new { error });
var config = FederatedAuthentication.FederationConfiguration.WsFederationConfiguration;
var signoutMessage = new SignOutRequestMessage(new Uri(config.Issuer), reply);
signoutMessage.SetParameter("wtrealm", config.Realm);
FederatedAuthentication.SessionAuthenticationModule.SignOut();
return Redirect(signoutMessage.WriteQueryString());
}
private static string CreateConsentUrl(string clientId, string requestedPermissions, string consentReturnUrl)
{
string consentUrl = String.Format(CultureInfo.InvariantCulture, ConsentUrlFormat, HttpUtility.UrlEncode(clientId));
if (!String.IsNullOrEmpty(requestedPermissions))
{
consentUrl += "&RequestedPermissions=" + HttpUtility.UrlEncode(requestedPermissions);
}
if (!String.IsNullOrEmpty(consentReturnUrl))
{
consentUrl += "&ConsentReturnURL=" + HttpUtility.UrlEncode(consentReturnUrl);
}
return consentUrl;
}
我认为这个链接解决了您的问题:
http://blogs.msdn.com/b/aadgraphteam/archive/2015/03/19/update-to-graph-api-actority-permissions.aspx
简单总结一下,现在只有管理员才可以批准一个网络应用程序“•访问你的组织的目录”。
我们正在开发一个Office外接程序,该外接程序使用Azure AD的组织帐户进行身份验证。外接程序需要管理同意。因此,如果管理员已登录,应引导他表达其管理同意。 我们使用OAuth进行身份验证: 我们通过附加
我已经添加了“user.readwrite.all”的图形权限和如下所示的其他权限,但我不能为添加的请求授予同意权限。甚至我的组织的azure支持团队成员也不能给我许可。为什么没有启用“授予Arcadis管理同意”按钮?为什么会显示“不授予arcadis?是否需要支付此API消耗或如何启用此特性?
2019-07-03 13:27:50 0[注]InnoDB:128个回滚段中有128个处于活动状态。 2019-07-03 13:27:50 0“错误”INNODB:页面[页面ID:space=0,页面编号=305]日志序列号2834539在未来!当前系统日志序列号1604011。 2019-07-03 13:27:50 0[错误]InnoDB:您的数据库可能已损坏,或者您复制了InnoDB表空
Authorization Mesos 在 0.20.0 版本增加了给 framewrok 的授权支持。 授权允许: Frameworks 向已经授权的 roles 注册 ( 重新注册 )。 Frameworks 作为经过授权的 users 启动 taks / executors 。 经过授权的 principals 通过 “/shutdown” HTTP endpoint 来关闭 framewo
本文向大家介绍oauth 授权码授予,包括了oauth 授权码授予的使用技巧和注意事项,需要的朋友参考一下 示例 第1步 第2步 资源
简单的用户可以使用该应用程序与同意的权限。 权限范围更改(例如,添加一个新权限范围) 同一个管理员再也拿不到同意书了 我是不是忽略了什么?非常感谢任何帮助。