WitAuthUtility.cs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. /*
  2. * Copyright (c) Meta Platforms, Inc. and affiliates.
  3. * All rights reserved.
  4. *
  5. * This source code is licensed under the license found in the
  6. * LICENSE file in the root directory of this source tree.
  7. */
  8. using Meta.WitAi.Data.Configuration;
  9. #if UNITY_EDITOR
  10. #endif
  11. namespace Meta.WitAi
  12. {
  13. public class WitAuthUtility
  14. {
  15. private static string serverToken;
  16. public static ITokenValidationProvider tokenValidator = new DefaultTokenValidatorProvider();
  17. public static bool IsServerTokenValid()
  18. {
  19. return tokenValidator.IsServerTokenValid(ServerToken);
  20. }
  21. public static bool IsServerTokenValid(string token)
  22. {
  23. return tokenValidator.IsServerTokenValid(token);
  24. }
  25. public static string GetAppServerToken(WitConfiguration configuration,
  26. string defaultValue = "")
  27. {
  28. return GetAppServerToken(configuration.GetApplicationId(), defaultValue);
  29. }
  30. public static string GetAppServerToken(string appId, string defaultServerToken = "")
  31. {
  32. #if UNITY_EDITOR
  33. return WitSettingsUtility.GetServerToken(appId, defaultServerToken);
  34. #else
  35. return "";
  36. #endif
  37. }
  38. public static string GetAppId(string serverToken, string defaultAppID = "")
  39. {
  40. #if UNITY_EDITOR
  41. return WitSettingsUtility.GetServerTokenAppID(serverToken, defaultAppID);
  42. #else
  43. return "";
  44. #endif
  45. }
  46. public static void SetAppServerToken(string appId, string token)
  47. {
  48. #if UNITY_EDITOR
  49. WitSettingsUtility.SetServerToken(appId, token);
  50. #endif
  51. }
  52. public const string SERVER_TOKEN_ID = "SharedServerToken";
  53. public static string ServerToken
  54. {
  55. #if UNITY_EDITOR
  56. get
  57. {
  58. if (null == serverToken)
  59. {
  60. serverToken = WitSettingsUtility.GetServerToken(SERVER_TOKEN_ID);
  61. }
  62. return serverToken;
  63. }
  64. set
  65. {
  66. serverToken = value;
  67. WitSettingsUtility.SetServerToken(SERVER_TOKEN_ID, serverToken);
  68. }
  69. #else
  70. get => "";
  71. #endif
  72. }
  73. public class DefaultTokenValidatorProvider : ITokenValidationProvider
  74. {
  75. public bool IsTokenValid(string appId, string token)
  76. {
  77. return IsServerTokenValid(token);
  78. }
  79. public bool IsServerTokenValid(string serverToken)
  80. {
  81. return null != serverToken && serverToken.Length == 32;
  82. }
  83. }
  84. public interface ITokenValidationProvider
  85. {
  86. bool IsTokenValid(string appId, string token);
  87. bool IsServerTokenValid(string serverToken);
  88. }
  89. }
  90. }