OAuthOptions.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using System;
  2. using Abp.Dependency;
  3. using WePlatform.Api.Providers;
  4. using WePlatform.Configuration;
  5. using Microsoft.Owin;
  6. using Microsoft.Owin.Security.OAuth;
  7. namespace WePlatform.Api
  8. {
  9. public class OAuthOptions
  10. {
  11. /// <summary>
  12. /// Gets or sets the server options.
  13. /// </summary>
  14. /// <value>The server options.</value>
  15. private static OAuthAuthorizationServerOptions _serverOptions;
  16. /// <summary>
  17. /// Creates the server options.
  18. /// </summary>
  19. /// <returns>OAuthAuthorizationServerOptions.</returns>
  20. public static OAuthAuthorizationServerOptions CreateServerOptions()
  21. {
  22. if (_serverOptions == null)
  23. {
  24. var provider = IocManager.Instance.Resolve<IwbAuthorizationServerProvider>();
  25. var refreshTokenProvider = IocManager.Instance.Resolve<IwbRefreshTokenProvider>();
  26. _serverOptions = new OAuthAuthorizationServerOptions
  27. {
  28. TokenEndpointPath = new PathString(IwbConsts.OAuthTokenUrl),
  29. Provider = provider,
  30. RefreshTokenProvider = refreshTokenProvider,
  31. AccessTokenExpireTimeSpan = TimeSpan.FromHours(1),
  32. AllowInsecureHttp = true
  33. };
  34. }
  35. return _serverOptions;
  36. }
  37. }
  38. }