1

我正在尝试在我的 Angular 应用程序中使用 OAuth2 实现 Visual Studio Online REST API 授权。

为了方便 OAuth2 实现,我想使用 Satellizer 模块(https://github.com/sahat/satellizer/)。

这就是我配置的方式$authProvider

$authProvider.oauth2({
            name: 'vso',
            url: '/oauth/callback',
            scope: ['vso.build_execute', 'vso.chat_manage', 'vso.code_manage', 'vso.packaging_manage', 'vso.project_manage', 'vso.release_execute', 'vso.work_write'],
            scopeDelimiter: '%20',
            state : 'ngApp',
            defaultUrlParams: ['response_type', 'client_id', 'scope', 'redirect_uri', 'state'],
            clientId: '{client_id}',
            responseType: 'Assertion',
            redirectUri: '{redirect_uri}',
            authorizationEndpoint: 'https://app.vssps.visualstudio.com/oauth2/authorize',
        });

现在,问题是我的应用程序只有 UI 路由器,我无法在我的 Visual Studio Online 门户上配置应用程序,使其重定向codestateUI 路由器/角度路由器样式回调 URL(即http: //站点名称/#/oauth/回调)。Visual Studio 不接受#重定向 uri。

我无法打开 html5mode,因为我的用户可能会刷新页面并且应用程序会丢失状态。我不想配置后端以将此类请求重新路由到应用程序的根目录。

如何为 Visual Studio Team Services 实施 OAuth2.0 授权?

4

0 回答 0