File tree Expand file tree Collapse file tree 1 file changed +31
-0
lines changed
src/AlibabaCloud.OSS.V2/Credentials Expand file tree Collapse file tree 1 file changed +31
-0
lines changed Original file line number Diff line number Diff line change 1+ using System ;
2+
3+ namespace AlibabaCloud . OSS . V2 . Credentials {
4+ /// <summary>
5+ /// Obtaining credentials from environment variables.
6+ /// OSS_ACCESS_KEY_ID
7+ /// OSS_ACCESS_KEY_SECRET
8+ /// OSS_SESSION_TOKEN(Optional)
9+ /// </summary>
10+ public class EnvironmentVariableCredentialsProvider : ICredentialsProvider {
11+ private readonly Credentials _credentials ;
12+ /// <summary>
13+ /// Creates an instance of <see cref="EnvironmentVariableCredentialsProvider"/>
14+ /// </summary>
15+ public EnvironmentVariableCredentialsProvider ( ) {
16+ var ak = Environment . GetEnvironmentVariable ( "OSS_ACCESS_KEY_ID" ) ;
17+ var sk = Environment . GetEnvironmentVariable ( "OSS_ACCESS_KEY_SECRET" ) ;
18+ if ( string . IsNullOrEmpty ( ak ) || string . IsNullOrEmpty ( sk ) ) {
19+ throw new ArgumentException ( "Credentials is null or empty" ) ;
20+ }
21+ var token = Environment . GetEnvironmentVariable ( "OSS_SESSION_TOKEN" ) ;
22+
23+ _credentials = new Credentials ( ak , sk , token ?? "" ) ;
24+ }
25+
26+ /// <inheritdoc/>
27+ public Credentials GetCredentials ( ) {
28+ return _credentials ;
29+ }
30+ }
31+ }
You can’t perform that action at this time.
0 commit comments