ghmer / tiny-mfa-plugin Goto Github PK
View Code? Open in Web Editor NEWa tiny implementation of a totp service to be used with IdentityIQ
Home Page: https://www.whisperedshouts.de
a tiny implementation of a totp service to be used with IdentityIQ
Home Page: https://www.whisperedshouts.de
Hello Mario - this IIQ MFA plugin is fantastic! Excellent work!
I did discover an issue in testing that I wanted to pass along. This may be specific to Microsoft SQL Server. The validation of MFA attempts fails consistently and prevents testing and activation of any MFA tokens (see below).
In catalina.out, the following is logged:
2020-09-11T10:42:18,752 ERROR ajp-nio-8009-exec-2 whisperedshouts.identityiq.rest.TinyMfaService:173 - com.microsoft.sqlserver.jdbc.SQLServerException: Invalid column name 'false'.
2020-09-11T10:42:18,752 WARN ajp-nio-8009-exec-2 whisperedshouts.identityiq.rest.TinyMfaService:194 - number attempts (16) exceeded limit 15 for identity username
In a SQL Server trace, a query like the following is being executed:
SELECT COUNT(*) FROM MFA_VALIDATION_ATTEMPTS WHERE CTS = @P0 and ACCOUNT_NAME = @P1 and SUCCEEDED = false,N'@P0 nvarchar(4000),@P1 bigint',N'username',1599825031
I believe the issue relates to "false" being a reserved word in SQL Server (SUCCEEDED = false); I believe TinyMfa would need to send this boolean value in the query as an integer (0 or 1) instead of true or false (i.e. SUCCEEDED = 0). It may also work if 'true' or 'false' are single-quoted but I suspect converting to 0/1 is the shorter path to resolution.
Environment details:
IIQ: 8.0p2
Java: openjdk-1.8.0.262
Database: Microsoft SQL Server 2017
Let me know if this all makes sense and if there is anything I can do to assist with remediation. Disclaimer: I am not very familiar with Java.
Thank you in advance and keep up the great work!
-N
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.