/// <summary> /// Initializes a new instance of the Startup class. /// </summary> /// <param name="configuration">The configuration instance.</param> public Startup(IConfiguration configuration) { Configuration = configuration; // Setup database and resource access client. ResourceAccessClients.Setup(() => { return(new AccountDbSetProvider(isReadonly => new AccountDbContext(UseSqlServer, "Server=.;Database=NuScien5;Integrated Security=True;"))); }); }
/// <summary> /// Gets the resource access client. /// </summary> /// <param name="request">The HTTP request.</param> /// <returns>A resource access client.</returns> internal static async Task <BaseResourceAccessClient> GetResourceAccessClientAsync(HttpRequest request) { var client = await ResourceAccessClients.CreateAsync() ?? ResourceAccessClients.MemoryInstance; var bearerToken = TryGetStringValue(request.Headers, "Authorization"); if (!string.IsNullOrWhiteSpace(bearerToken)) { if (bearerToken.ToLowerInvariant().StartsWith("bearer ")) { var bearerTokenString = bearerToken[7..].Trim();
/// <summary> /// Gets the social network resource context instance. /// </summary> /// <param name="client">The resource access client.</param> /// <returns>The instance of the social network resource context.</returns> public static async Task <BaseSocialNetworkResourceContext> CreateAsync(BaseResourceAccessClient client) { if (client == null) { client = await ResourceAccessClients.CreateAsync(); } if (factory != null) { return(await factory(client)); } if (client is HttpResourceAccessClient h) { return(new HttpSocialNetworkResourceContext(h)); } return(null); }