当前位置: 首页 > 知识库问答 >
问题:

承载令牌认证授权码

唐彦
2023-03-14
    public void ConfigureAuthOpenIdConnect(IAppBuilder app)
    {
        app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);

        var cookieAuthenticationOptions = new CookieAuthenticationOptions()
        {
           //...
        };

        app.UseCookieAuthentication(cookieAuthenticationOptions);

        var notifications = new OAOpenIdConnectAuthenticationNotifications();
        var openIdConnectAuthenticationOptions = new OpenIdConnectAuthenticationOptions()
        {
            //...
            Notifications = notifications
        };

        app.UseOpenIdConnectAuthentication(openIdConnectAuthenticationOptions);

        app.UseWindowsAzureActiveDirectoryBearerAuthentication(
           new WindowsAzureActiveDirectoryBearerAuthenticationOptions
           {
               Tenant = ConfigHelper.ClientSettings.TenantName,
               TokenValidationParameters = new TokenValidationParameters
               {
                   ValidAudience = ConfigHelper.ClientSettings.ClientId
               }
           });
    }

当一个人试图使用azure AD承载令牌访问我们的系统时,这个获取和缓存资源令牌的工作流程是不存在的。

所以我的问题是,我如何使用承载令牌来启用它?如何才能像使用OpenIDConnect一样请求额外的资源令牌?是否可以使用ADAL从承载令牌获取授权代码

共有1个答案

徐飞龙
2023-03-14

正如您提到的,您正在使用OpenID Connect ASP.NET中间件和ADAL.NET使用Azure AD进行登录,然后在OnAuthorizationCodereceivedOpenID Connect Notification中调用登录用户身份下的web API。

在此场景中,您可以使用授权代码将其交换为特定资源的访问令牌。

另一方面,当客户端应用程序使用azure AD承载令牌访问您的系统时,没有授权代码。在此场景中,如果希望使用该访问令牌将其交换为另一个资源的访问令牌(如Microsoft Graph),则可以使用OAuth2.0来代表Flow。OAuth2.0代表流服务于应用程序调用服务/Web API的用例,而该应用程序又需要调用另一个服务/Web API。

 类似资料:
  • 我有一个内部网站点,在我的组织内本地托管。同一站点还通过各种web服务公开一些数据。它是用ASP.NET MVC 5和WebAPI 2编写的,它是。NET 4.5,非核心。 目前,用户可以使用Windows身份验证登录网站,一旦身份验证,他们就可以访问API。然而,我还需要允许使用令牌访问API,以便它们可以被自动进程查询,因此我创建了一个页面,经过身份验证的用户可以在其中请求令牌。 我的意图是,

  • 我已经编写了一个云函数,该函数接收一个Base64字符串并将其传递到Google Cloud Vision API中,我还在客户端上编写了一个函数,该函数通过HTTP调用Firebase云函数。 虽然数据可以很好地从客户端传递到云功能,但服务器对Google Vision API的请求不起作用。我得到一个状态码错误。 我很确定这与授权承载令牌有关,因为在shell中使用环境变量运行它就可以了。顺便

  • 问题内容: 我正在.NET Web应用程序中实现Web API 2服务体系结构。使用请求的客户端是纯JavaScript,没有mvc / asp.net。我正在使用OWIN根据本文尝试启用令牌身份验证,并使用Web API Sample进行OWIN承载令牌身份验证 。授权后,我似乎在身份验证步骤中缺少某些内容。 我的登录名如下: 它返回 然后,我尝试在AngularJS中的其他请求上设置HTTP标

  • 这是自定义承载令牌授权机制的可接受实现吗? 授权属性 验证服务。APISettings类用于appSettings,但验证可以扩展为使用数据库。。。显然:) 实施 应用设置 } 请求头

  • 我真的很难找到一个AWS设计,让我: 使用REST(不使用AWS sdk库)向cognito验证实体。 cognito的RESTAPI需要识别实体并根据实体返回结果。例如,像“getOrders”这样的api将返回与已登录的实体关联的订单 经评估的解决方案: > 具有作用域的oAuth身份验证无法解决此场景。实体必须使用appclientId和secret进行身份验证,因此不清楚如何区分实体(为所