小编Hen*_*jen的帖子

Azure DevOps Pipelines:使用当前内部版本号创建一个文本文件

我有一个构建和管道设置来构建一个解决方案,然后.exe通过 ftp 上传将完成的文件上传到我的网站。一切正常,我已将其设置为使用其中的文件创建一个名为$Build.BuildNumber(例如 20181218.4)的新文件夹.exe,以便我可以保留已完成构建的存档。

现在我想写BuildNumber一个文本文件坐在根目录下的某个地方有一个静态的路径/ URL所以我programms的可以读取该文件,并获得最新的版本号,并下载最新的.exe

如何使用 Azure DevOps Pipelines 自动化创建此类文本文件的过程?

azure azure-devops azure-pipelines azure-pipelines-release-pipeline

7
推荐指数
1
解决办法
6163
查看次数

Dynamics CRM 2016.Web API Auth.我有令牌,现在是什么?

使用ADAL libs for java我设法使用我的office365凭证获取Access,Refresh和ID Tokens.

现在我的意图是使用REST Web API,我的目的是创建一个实体,作为概念的证明.根据我与其他供应商和REST API的经验,一旦您拥有有效的令牌,您只需将其添加为授权标头,如:

Authorization=Bearer 709709JHKLJHKJLhHKHKJHKH...etc
Run Code Online (Sandbox Code Playgroud)

在Dynamic CRM 2016中有类似的东西吗?

这里这里是关于组成一个POST HTTP请求不错的信息,但我缺少授权部分...任何想法家伙?

java authentication dynamics-crm adal dynamics-crm-2016

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

向 Dynamics CRM 解决方案添加独特的实体子组件

我正在开发一个实用程序,在其中我根据提供的目标解决方案创建回滚解决方案。截至目前,该实用程序运行良好,它读取要在目标组织上部署的解决方案,并在目标组织上创建一个新的回滚解决方案,其中包含来自目标的所有必要组件,如实体、Web 资源、SDK 步骤、安全角色、工作流等组织。我已经使用SDK的AddSolutionComponentRequest类来实现这一点。

当实用程序检测到解决方案中的实体时,它只需添加整个实体以及所有元数据,例如所有字段、视图、表单等。

CRM 2016引入了解决方案细分的功能,通过该功能我们可以专门添加那些发生变化的实体组件。

我如何在我的实用程序中利用此功能,因为我还没有找到任何允许我向解决方案添加特定实体组件的 API 方法。

c# dynamics-crm dynamics-crm-2016 dynamics-crm-365

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

Azure B2C:Asp.Net Web API 调用 Asp.Net Web.API

我有两个 Web API 服务(源和目标)。每个都使用客户端密钥在 Azure B2C 中注册为 AD 应用程序。

我正在尝试调用从源服务到目标服务 API 的 gRPC API 调用,但是当我尝试进行调用时,出现 gRPC 异常,表明源未经身份验证。

注意:当我从目标 WebAPI 中删除范围策略和授权属性时,一切正常,但当然这是不安全的。

在源服务启动中我有以下内容......

注意:源和目标的配置设置都是正确的。我已经三次检查所有配置设置是否正确。

services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddMicrosoftIdentityWebApi(options =>
    {
        Configuration.Bind("AzureAdB2C", options);
        options.TokenValidationParameters.NameClaimType = "name";
    },
    options =>
    {
        Configuration.Bind("AzureAdB2C", options);
    });
Run Code Online (Sandbox Code Playgroud)

我不确定是否需要,但我还在源 API 的启动中包含了以下逻辑。

注意:我现在已经对所需的范围进行了硬编码。

services.AddMicrosoftIdentityWebAppAuthentication(Configuration, "AzureAdB2C")
    .EnableTokenAcquisitionToCallDownstreamApi(new string[] { "https://nextwaredev.onmicrosoft.com/nextware.productportal.sharedservices.api/sharedservices_readaccess", "https://nextwaredev.onmicrosoft.com/nextware.productportal.sharedservices.api/sharedservices_readwriteaccess" })
    .AddInMemoryTokenCaches();
Run Code Online (Sandbox Code Playgroud)

目标服务具有正确的策略,并且两个服务都配置为使用授权和身份验证。

app.UseAuthentication();
app.UseAuthorization();
Run Code Online (Sandbox Code Playgroud)

我已经根据上面的相同范围添加了源所需的 API 权限。

在此输入图像描述

当我尝试调用目标 API 上的方法时,我收到一个 gRPC 异常,表明源未经身份验证。

因此,我想也许我需要传递应用程序访问令牌,但是当我尝试获取 JWT 访问令牌时(以下示例 调用 tokenAcquisition.GetAccessTokenForAppAsync),我收到另一个异常“AADB2C90086:不支持提供的 grant_type [client_credentials]。 ”

注意:我有一个 Blazor 应用程序,调用相同的安全 API 时没有任何问题。不过,我调用 GetAccessTokenForUserAsync... ,它返回正确的令牌,并具有调用相同下游源或目标 Web api 服务所需的应用范围。 …

c# asp.net-web-api azure-ad-b2c azure-ad-msal

0
推荐指数
1
解决办法
1355
查看次数