2016-11-24 238 views
1

网页API我需要实现使用蔚蓝活动目录蔚蓝网络API认证。身份验证使用蔚蓝AD

客户端应用程序(其消耗的WebAPI)可以是或可以不是在天蓝色。我需要如何验证用户,如果我的应用程序不在Azure(如果它是IOS应用程序),我应该在哪里生成令牌。即使客户端应用程序处于天蓝色,身份验证也应该可以在所有情况下运行。

现在请让我来实现认证的最佳方法。

回答

0

应用服务使用不同的身份验证提供Azure Active DirectoryFacebookGoogleMicrosoftTwitter。 我们可以在Azure Portal中设置任何类型的认证/授权。有关如何在Azure App Service中使用API​​应用程序认证的更多信息,请参阅document

默认情况下,App Service提供身份验证,但不会限制对站点内容和API的授权访问。您必须在您的应用程序代码中授权用户。

enter image description here

1

您需要定义在Azure的AD客户端应用程序在移动应用的情况下,本机应用程序。然后你在那里定义API,并添加你的客户端权限来访问它。您可以选择通过Azure AD中的API应用程序清单自定义可用权限。然后,当您的移动应用程序打开时,您必须使用Azure AD进行身份验证,然后为该API请求访问令牌。然后您可以使用它来验证请求。

我不能太详细地回答这个问题,因为它是一个相当大的话题,它是如何完成的还取决于你的平台。有一个sample app,你可以检查哪个确实是你想要的。本机应用程序的例子的整个列表可以找到here

+0

这就是我所做的,但我面临一个小问题,我的客户端能够获取令牌,但是当我将它传递给API时,它会返回未经授权的。我无法弄清楚什么是错误的。我的客户是一个简单的桌面控制台应用。 – Diceyus

+0

可能意味着您的API不认为令牌有效。对你的设置一无所知,我只能提到你应该检查预期的'audience'和'authority'是否正确。也许用API的一些代码发布一个关于这个问题? – juunas

+0

根据我的理解,Web API的受众应该被用作客户端的资源,并且我能够获得该资源的标记。 – Diceyus