You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
2.9 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[INBOUND_PROC_AUTHENTICATION] Script Date: 9/27/2019 1:30:13 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. --EXEC INBOUND_PROC_AUTHENTICATION @Flag = 'authenticate', @Username = 'GIBLAPI',@Password = '123',@AgentCode = 'GMKOR1056'
  9. CREATE PROCEDURE [dbo].[INBOUND_PROC_AUTHENTICATION] (
  10. @Flag VARCHAR(50) = NULL
  11. ,@Username VARCHAR(50) = NULL
  12. ,@Password VARCHAR(50) = NULL
  13. ,@AgentCode VARCHAR(50) = NULL
  14. ,@identifier VARCHAR(36) = NULL
  15. )AS
  16. SET NOCOUNT ON;
  17. SET XACT_ABORT ON;
  18. BEGIN TRY
  19. IF @Flag='authenticate'
  20. BEGIN
  21. DECLARE @errorCode INT
  22. EXEC proc_checkAuthntication @Username,@Password,@AgentCode,@errorCode OUT
  23. IF (@errorCode=0 )
  24. BEGIN
  25. SET @identifier=CONVERT(VARCHAR(36),NEWID())
  26. INSERT INTO dbo.INBOUND_APIUSER_IDENTIFIER(
  27. username,identifier,isActive
  28. )SELECT
  29. @Username,@identifier,1
  30. EXEC proc_errorHandler 0 , 'Authentication success', @identifier
  31. RETURN
  32. END
  33. EXEC proc_errorHandler 1 , 'Authentication fails, invalid credentials.', NULL
  34. RETURN
  35. END
  36. IF @flag='validate-identifier'
  37. BEGIN
  38. IF EXISTS(SELECT 'x' FROM dbo.INBOUND_APIUSER_IDENTIFIER(NOLOCK) WHERE identifier=@identifier AND username = @Username AND ISNULL(isActive,1)=1)
  39. BEGIN
  40. SELECT '0' AS ErrorCode
  41. RETURN
  42. END
  43. ELSE
  44. BEGIN
  45. SELECT '1' AS ErrorCode
  46. RETURN
  47. END
  48. END
  49. END TRY
  50. BEGIN CATCH
  51. END CATCH
  52. GO