小编Phi*_*ret的帖子

在使用客户端证书的 AcquireTokenAsync 调用期间会发生什么?

在 Azure AD 中,当我们进行诸如此类的调用时,AuthenticationContext.AcquireTokenAsync(resource, new ClientAssertionCertificate(_clientId, _cert))不清楚究竟发生了什么。

如果有的话,证书的哪一部分会被交换?

是否有挑战/响应发生?

客户端是否需要私钥作为其中的一部分?

azure-active-directory

3
推荐指数
1
解决办法
1765
查看次数

如何找到需要Microsoft Graph“读取目录数据”权限的Azure AD应用程序的管理员同意URL?

我正在通过以下示例:

https://azure.microsoft.com/resources/samples/active-directory-dotnet-webapp-groupclaims/

若要运行该示例,我需要对Microsoft Graph具有Directory.Read.All权限:

为您的应用程序配置权限。在这种情况下,在“设置”菜单中,选择“所需权限”部分,然后单击“添加”,然后选择“ API”,然后在文本框中键入Microsoft Graph。然后,单击“选择权限”,然后选择 Directory.Read.All

Directory.Read.All需要Azure AD管理员同意。
我的Azure AD应用程序没有Web用户界面。

如何让我们的Azure AD管理员在不花费太多时间的情况下提供同意?

我们的Azure AD管理员是繁忙且昂贵的资源。需要花费很多时间来预定他的时间,我希望我能在参与他之前进行同意过程。

azure-active-directory azure-ad-graph-api

3
推荐指数
1
解决办法
3538
查看次数

Project的SetCustomUI for Excel有替代品吗?

我有一个包含一堆普通VBA宏的Excel工作表.此文件不断更新并作为Excel加载项(.xlam)进行分发.到目前为止,我对它的工作方式非常满意.

现在我想添加一个功能区选项卡和按钮来运行其中一些宏.最初,我很高兴能找到这篇MSDN文章,但后来感到沮丧的SetCustomUI似乎并不存在Excel(只有Project),所以我不能简单地使用它Workbook_Open.其他SO问题证实了这一点,但不提供替代方案.

我的要求:

  • 用户必须像今天一样访问宏VBA代码(加载项在VBE中显示为项目).
  • 更新和重新分发加载项必须很容易.今天,我发送一个文件进行更新.
  • 我想要一个带有某些宏按钮的功能区选项卡.

有任何想法吗?

excel vba excel-vba

2
推荐指数
1
解决办法
6391
查看次数

写入请求仅在包含的实体、Microsoft Graph API 上受支持

POST https://graph.microsoft.com/v1.0/Groups/bb754bb6-xxxx-xxxx-8e66-4c57c626ee29/members

Accept: application/json
Authorization: Bearer <access key>

Content:
{
  "directoryObject": {
    "id": "5cb55683-xxxx-xxxx-xxxx-5e163c939005"
  }
}
Run Code Online (Sandbox Code Playgroud)

回复:

{
  error: {
    code: "BadRequest"
    message: "Write requests are only supported on contained entities"
    innerError: {
      request-id: "20167459-5495-4034-9e27-503c64340c1f"
      date: "2015-11-27T14:25:20"
    }-
  }-
}
Run Code Online (Sandbox Code Playgroud)

我可以得到一个组的成员,但不能向它添加成员,任何建议将不胜感激。

office365 office365api office365-restapi microsoft-graph-api

2
推荐指数
1
解决办法
4151
查看次数

Azure活动目录注销或清除本机应用程序的令牌缓存

我有一个C#web API REST服务后端,我提供CMS,网页和Angular2应用程序的服务(这是相关的).Angular应用程序需要通过后端发送用户名和密码(原始凭据)进行身份验证,后端使用这些来请求访问Azure Active Directory(带UserCredentials)的access_token,并将access_token发送回Angular应用程序,用于授权在它的请求(Authorization: Bearer).这是我正在验证的方式:

UserCredential uc = new UserPasswordCredential(user, password);
AuthenticationContext authContext = new AuthenticationContext(Constants.authority, false);
AuthenticationResult result = authContext.AcquireTokenAsync(Constants.audience, Constants.clientIdNative, uc).Result;
Run Code Online (Sandbox Code Playgroud)

问题是它为该令牌生成一小时缓存,如果用户注销并再次使用用户或用户+错误密码再次进入,则身份验证只会查找该用户的缓存并忽略或不验证密码.在一小时的窗口中,任何人都可以使用用户名进入.

我在这里和许多其他网站上找到了注销或清除令牌的方法,但这些不适用于我的后端,因为它是无状态的.我不管理这些之间的会话或HTTP上下文.如果有人可以指导解决这个问题,我正在使用Microsoft.IdentityModel.Clients.ActiveDirectory版本3.13.1.846 的最后一个程序集,我知道该方法AcquireTokenByAuthorizationCodeAsync不会查找缓存,但是没有用于原始凭据的实现.

谢谢你们,希望你能帮助我.

c# azure azure-active-directory adal

2
推荐指数
1
解决办法
5567
查看次数

Azure 应用程序注册返回错误代码 AADSTS70001

我在这里创建了一个与此不同的配置机制: 组配置机制

我已经在我的开发人员租户上成功实施了整个工作流程。现在我们的生产环境中,我总是收到此错误:

[Error]Invoke - RestMethod: {
    "error": "unauthorized_client",
    "error_description": "AADSTS70001: Application 'ffffffff-...' is disabled.\r\nTrace ID: ffffffff-180f-4bc4-8087-867633c83e00\r\nCorrelation ID: ffffffff-2e5d-481d-adee-f068dbebaab1\r\nTimestamp: 2018-10-29 09:06:59Z",
    "error_codes": [70001],
    "timestamp": "2018-10-29 09:06:59Z",
    "trace_id": "ffffffff-180f-4bc4-8087-867633c83e00",
    "correlation_id": "ffffffff-2e5d-481d-adee-f068dbebaab1"
}
Run Code Online (Sandbox Code Playgroud)

这是我的代码,应该进行身份验证:

function Initialize-Authorization {
    param
    (
        [string]
        $ResourceURL = 'https://graph.microsoft.com',

        [string]
        [parameter(Mandatory)]
        $TenantID,

        [string]
        [Parameter(Mandatory)]
        $ClientKey,

        [string]
        [Parameter(Mandatory)]
        $AppID
    )

    $Authority = "https://login.microsoftonline.com/$TenantID/oauth2/token"
    Write-Output "auth: $Authority"
    [Reflection.Assembly]::LoadWithPartialName("System.Web") | Out-Null
    $EncodedKey = [System.Web.HttpUtility]::UrlEncode($ClientKey)

    $body = "grant_type=client_credentials&client_id=$AppID&client_secret=$EncodedKey&resource=$ResourceUrl"
    Write-Output "body: $body"
    # Request a Token from the graph api
    $result = Invoke-RestMethod …
Run Code Online (Sandbox Code Playgroud)

azure-active-directory

2
推荐指数
1
解决办法
3364
查看次数

Python:类型错误:不支持的格式字符串传递给 NoneType.__format__

我有一个程序,当它当前从数据库中读取时,可以在这里找到。我让用户选择他们想要显示的特定记录,以便 SQL 命令执行该记录。现在我有一个表,当前显示一些不包含任何 NULL 或空字符串的记录。如果它确实有 NULL 或空字符串,它会给我一个错误并且程序不显示记录。我认为这就是 NoneType 错误的主要来源。我不知道如何解决这个问题。我如何确保它也计算 Null 或空字符串?希望这将修复错误。

如果您要尝试测试数据库,则不会显示像客户这样的表,因为它具有空值。

这是回溯错误:

line '..', in read_display(record)
    line = format_.format(*rec)
TypeError: unsupported format string passed to NoneType.__format__
Run Code Online (Sandbox Code Playgroud)

这是我的代码的样子:

import sqlite3

def read_display(record):
  database = 'data.db'
  connection = sqlite3.connect(database)
  c = connection.cursor()
  sql = "SELECT * FROM {0}".format(record)
  cursor.execute(sql)
  conn.commit()
  results = cursor.fetchall()

  header = tuple(i[0] for i in c.description)
  width = max((len(str(x)) for d in data for x in d))

  data = [header] + results

  config = [{'width': …
Run Code Online (Sandbox Code Playgroud)

python sql database sqlite

1
推荐指数
1
解决办法
2万
查看次数