问题标签 [azure-api-apps]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
827 浏览

azure - DocumentDB:是否可以删除自动生成的标签、_Etag、_ts 等?

我正在使用 .NET SDK 从 api-app 查询我的 docDb,并且在选择时我得到了这些我不想得到的标签。基本上我想知道是否可以删除自动生成的标签 _Etag、_ts、_rid、_attachments 等?

这背后的原因是我想将来自 Select 查询的 JSON 输出转换为 XML,是否允许 _tags?如果有人有不同的方法,请告诉我!

0 投票
1 回答
835 浏览

azure - Logic-App name max length incorrect?

Maybe I'm missing something here but:

According to the Azure Portal the max length of Logic-App names is 64.

Logic app name example:

"This-is-a-test-name-for-logic-app-to-see-length"

The length of this string is 47, which should be fine. But when creating it I get an error:

"The provided the distribution name Microsoft.Empty Workflow-This-is-a-test-name-for-logic-app-to-see-length has a length of 71, which is longer than the 64 limit.."

It seems like the string "Microsoft.Empty Workflow-" gets added before the logic-app name, meaning that the actual max length is 40?

Don't know if this is a bug or something that you can work around?

0 投票
0 回答
312 浏览

azure-web-app-service - Active Directory B2C 和 OpenIdConnectAuthenticationMiddleware - 多租户系统

我已经设置了两个租户,123.onmicrosoft.com并且abc.onmicrosoft.com.

我开发了一个OpenIdConnectAuthenticationMiddleware用于执行 OpenID Connect 身份验证流程的 Web 应用程序。

开箱即用的中间件需要在配置 OWIN 中间件时传递客户端 ID,这是我们面临的挑战。我们的 Web 应用程序使用两个绑定部署一次:123.mydomain.comabc.mydomain.com.

我们想在运行时设置客户端 ID。我们目前的方法是开发一个子类并注入一个函数来在运行时收集客户端 ID,如下所示:

在启动类中,我们添加了两个中间件: UseTenantVerification 读取主机标头以加载与此租户关联的应用程序配置。LendingAuthentication 使用 LendingMiddleware 做 openid 流程,从 OpenIdConnectAuthenticationMiddleware 继承的借贷中间件

TenantConfig看起来像这样:

我们保留此租户想要访问的客户端 ID、应用程序密钥和 API 资源。我们目前只有一个 API 应用程序,但最终将是一些 API 应用程序将添加到租户目录以授予访问权限。

有一个更好的方法吗?

0 投票
5 回答
8401 浏览

c# - Azure 自定义控制器/API .Net 后端

我在 Azure 上运行了一个 MobileService,并决定自己创建一个新服务并迁移代码。新服务属于称为 Azure 移动应用服务的新类型。

目前我有身份验证工作,可以做迁移/更新数据库。我正在关注 TodoItem 示例。我现在想创建自己的自定义 API,它可以轻松地在 MobileService 上运行,但我无法让它在 Azure 移动应用程序上运行:/

我已经关注了这两个链接web-Api-routingapp-service-mobile-backend。我现在有以下内容:

我创建了一个新控制器:

在 mobileApp.cs 我根据后端添加了以下代码:

另外,我根据web-api-routing安装了以下软件包:

以及来自客户的电话:

调试显示,它是正确的 URL:

{方法:POST,RequestUri:' https://xxxxxxx.azurewebsites.net/api/Test/completeAll ',版本:1.1,内容:System.Net.Http.StringContent,标头:{ X-ZUMO-FEATURES:AT X -ZUMO-INSTALLATION-ID: e9b359df-d15e-4119-a4ad-afe3031d8cd5 X-ZUMO-AUTH: xxxxxxxxxxx 接受: application/json 用户代理: ZUMO/2.0 用户代理: (lang=Managed; os=Windows Store; os_version =--;arch=Neutral;version=2.0.31125.0) X-ZUMO-VERSION: ZUMO/2.0 (lang=Managed;os=Windows Store;os_version=--;arch=Neutral;version=2.0.31125.0) ZUMO- API 版本:2.0.0 内容类型:应用程序/json;charset=utf-8 内容长度:3}}

但不断收到:404(未找到)调试消息“请求无法完成。(未找到)”

我错过了什么:/?

更新

我曾尝试扩展 The mobileApp.cs 中的代码,其中包括:

基于app-service-backend,但仍然无法访问:/

更新

我使用fiddler2通过浏览器访问端点,得到以下结果:

提琴手输出

再次更新

我试图创建另一个最小的解决方案,但仍然得到同样的错误。有没有我可以遵循的很棒的教程来实现这个功能?

积极的感觉正在慢慢蒸发。. .

这个问题现在也在msdn上运行,如果那里显示任何信息,我会在这里更新。


更新

测试了 Lindas 的评论,我实际上可以访问值转换器:

我使用 post 和 get 函数访问:

或者

但是我粘贴的代码没有路由,为什么我可以使用值来访问它?如果不使用路由参数,原始控制器的路径是什么?


额外的信息

我现在已经创建了 Microsoft 的支持票证,并将更新更多信息。. . 希望。

来自 MSDN 论坛的更新 信息:尝试 MS_SkipVersionCheck 在此处阅读有关该属性的信息,它似乎不适用。但我试过了。仍然Not Found适用于我的 API,但原来的 API 仍在工作。所以对这个问题没有影响。

0 投票
1 回答
50 浏览

azure-api-apps - 在 Azure 应用服务中覆盖来自 SocialLoginProvider 的 CreateCredentials

在用户通过社交提供商(谷歌、Facebook 等)成功登录后,我想将用户信息存储到数据库中,而无需在客户端调用额外的 api。

在 azure 移动服务中,这是通过创建一个继承自例如 GoogleLoginProvider 的类,然后覆盖 CreateCredentials 方法来完成的。

请参阅此帖子:Google 登录 Azure 移动服务(.NET 后端)后立即保存信息

但是如何在 Azure 应用服务中存档相同的行为?

谢谢

0 投票
1 回答
516 浏览

node.js - Azure API 应用 Node.js 部署问题

我正在使用 Node.js(Express、Swaggerize、Sequelize 和 SQLlite)测试 Azure API App 服务。到目前为止,一切都在我的开发工作站中运行,但是在尝试部署应用程序时遇到了一些问题。

首先,我创建了 API 应用程序“容器”,并将我的 VSTS Git 存储库与 API 容器连接起来。将代码推送到 repo 时一切正常(容器会在几秒钟内自动获取所有更改)。

但是...(以下问题)

  1. 如何解决我的节点依赖关系?(到目前为止,我一直在通过容器控制台手动调用“npm install”。我不想将我的包推送到 GIT 存储库中
  2. 我不能在 sequelize 中使用 SQLite 方言,因为虽然包似乎在我的应用程序依赖项和 node_modules 目录中,但我的应用程序仍然抛出异常

    /li>

有什么我想念的吗?

0 投票
2 回答
3707 浏览

api - Azure API 管理 - API 端点域与实际 API URL

我已经设置了 Azure API 管理服务并将其配置在自定义域上。在 Azure 门户的 API 管理服务的配置部分下,我设置了以下内容: API 管理服务 - 配置

因为这是一个客户端系统,所以我必须排除细节,但这里是基础知识:

  • API 端点域:api.example.com
  • 开发者门户域:apiportal.example.com
  • 两者都上传了 SSL。

因为我将类型设置为自定义,所以我需要输入 API ENDPOINT 和 DEV PORTAL。

当我进入发布门户并设置 API 时,我得到以下信息: API 发布者门户 - API 设置

我需要能够运行单个开发人员门户,但有 2 个不同的 API 服务器(1-Sandbox,2-Production),但它们将具有不同的子域(api-sandbox.example.com 和 api.example.com)

这可能吗?为什么 API 设置会用我在 API 管理配置中输入的内容覆盖 Web 服务 URL/URL 后缀?

0 投票
1 回答
93 浏览

api - 从 Swagger 元数据创建 Azure Api 应用

我在 API 管理层创建了一些 API,它们本质上是调用客户端和底层 Web api 之间的代理。

我通过导入底层 API 的 swagger 文件来做到这一点,然后将新创建的 API 添加到产品中,对我需要的每个单独的代理重复此操作。这意味着可以调用底层 API,但不能没有新创建的 API 所附加到的产品的订阅者密钥。

在此处输入图像描述

是否可以对 API 应用程序执行类似的操作,即仅使用 azure 门户中底层 API 的 swagger 文件创建 API 应用程序,充当调用客户端和底层 Web api 之间的代理(如下所示)?

在此处输入图像描述

0 投票
1 回答
360 浏览

azure-active-directory - Azure AD B2C multitenants applications

I have been working in a solution to integrate a multi-tenant api backend system with multiple B2C directory, the idea is that each tenant own and manage their own directory, so our api backend system will need to be added to each tenant b2C directory.

I was thinking in extending the owin openID middleware as described here.

Active Directory B2C and OpenIdConnectAuthenticationMiddleware - Multitenant systems

Another alternative is to setup our own B2C directory to integrated our tenant's B2C directory.

Is this possible?

0 投票
1 回答
674 浏览

django - Azure API 网关前端的 Django API

我有一个 Django 应用程序,它当前存储用户凭据并执行授权和身份验证。我正在将前端分解为 Angular SPA 并将后端转换为 REST API。我的 Django API 将作为受 Azure API 网关保护的 Azure API 应用程序存在。我想从 Django 中删除身份验证部分,并允许用户通过 Google 或 Microsoft 帐户使用 OpenID Connect 登录。我想要发生的是这样的:

当用户访问该网站时,假设他们从未注册过我的应用程序,他们将可以选择使用他们的 Google 帐户或 Microsoft 帐户登录。如果用户决定使用他们的 Google 或 Microsoft 帐户登录,(这是我感到困惑的地方,也是我在这里发帖的原因......)我认为会发生什么是 API 网关执行身份验证,生成 JSON Web 令牌(JWT),并将该令牌发送回 Django API。Django 接收 JWT,对其进行解密,并检查是否存在与 JWT 中的电子邮件地址匹配的用户帐户。如果没有用户帐户,Django 会将用户添加到用户帐户表(不存储密码)。如果有与该电子邮件地址匹配的用户,则 Django 允许该用户进入。

说了这么多,我想我的问题是:

  1. 我应该在 API 管理网关上进行身份验证,还是应该在 Azure Web API 上进行身份验证?

  2. 我可以使用 Django 的内置身份验证系统来做我想做的事还是不需要做的事?

  3. 我是不是把这一切都复杂化了?有没有更简单的方法来做到这一点?这一切似乎需要做很多工作。

  4. 我应该使用 OpenID Connect(而不是 Oauth2)吗?我也没有经验。