microsoft/teams.net

Public

mirrored fromhttps://github.com/microsoft/teams.netAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
fix/msal-cache

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

Libraries/Microsoft.Teams.Api/Clients/BotTokenClient.cs

51lines · modecode

1// Copyright (c) Microsoft Corporation. All rights reserved.
2// Licensed under the MIT License.
3
4using Microsoft.Teams.Common.Http;
5
6namespace Microsoft.Teams.Api.Clients;
7
8public class BotTokenClient : Client
9{
10 public static readonly string BotScope = "https://api.botframework.com/.default";
11 public static readonly string GraphScope = "https://graph.microsoft.com/.default";
12 public string ActiveBotScope { get; set; } = BotScope;
13 public string ActiveGraphScope { get; set; } = GraphScope;
14
15 public BotTokenClient() : this(default)
16 {
17
18 }
19
20 public BotTokenClient(CancellationToken cancellationToken = default) : base(cancellationToken)
21 {
22
23 }
24
25 public BotTokenClient(IHttpClient client, CancellationToken cancellationToken = default) : base(client, cancellationToken)
26 {
27
28 }
29
30 public BotTokenClient(IHttpClientOptions options, CancellationToken cancellationToken = default) : base(options, cancellationToken)
31 {
32
33 }
34
35 public BotTokenClient(IHttpClientFactory factory, CancellationToken cancellationToken = default) : base(factory, cancellationToken)
36 {
37
38 }
39
40 public virtual async Task<ITokenResponse> GetAsync(IHttpCredentials credentials, IHttpClient? http = null, CancellationToken cancellationToken = default)
41 {
42 var token = cancellationToken != default ? cancellationToken : _cancellationToken;
43 return await credentials.Resolve(http ?? _http, [ActiveBotScope], token).ConfigureAwait(false);
44 }
45
46 public async Task<ITokenResponse> GetGraphAsync(IHttpCredentials credentials, IHttpClient? http = null, CancellationToken cancellationToken = default)
47 {
48 var token = cancellationToken != default ? cancellationToken : _cancellationToken;
49 return await credentials.Resolve(http ?? _http, [ActiveGraphScope], token).ConfigureAwait(false);
50 }
51}
52