Comments (5)
Unfortunately, I don't know if we've gotten enough information. But here goes based on what you have stated.
Version 2.2 did increment some dependency versions. One in particular that I could see potentially causing issues for you is the upgrade of Microsoft.NET.Test.Sdk
from version 16.2 to version 16.10. I can't see that any other changes would have had that effect on your solution. What if you tried upgrading just this package in your project(s) and see if you get the same behavior with version 2.1.1?
from googleauthenticator.
We're still playing with it - I appreciate the info about the dll change. That might be useful. I'm currently digging into our build server to see if I find anything. I'll post back when I get any useful info.
from googleauthenticator.
Ok, we've set up fusion logging to take a look, and it appears that the dll binds successfully - the only thing of note is that we get a message about "No native image found," which I feel like might be a bit of a red herring in this case. The actual error we are receiving is this:
The details:
************** Exception Text **************
System.MissingMethodException: Method not found: 'Boolean Google.Authenticator.TwoFactorAuthenticator.ValidateTwoFactorPIN(System.String, System.String)'.
at DrakeAccounting.frmAdminSetup_Tab_Controls.GoogleAuthenticator.CheckValidator()
at DrakeAccounting.frmAdminSetup_Tab_Controls.GoogleAuthenticator.b__12_0()
at DrakeAccountingCommon.Validation.Rules.CustomRule.CheckImplementation()
at DrakeAccountingCommon.Validation.RuleBase.CheckOnlyThisRule()
at DrakeAccountingCommon.Validation.RuleBase.Check()
at DrakeAccountingCommon.Validation.RuleBase.OnTriggerInvoked(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnVisibleChanged(EventArgs e)
at System.Windows.Forms.Control.SetVisibleCore(Boolean value)
at DrakeAccounting.frmAdminSetup_Tab_Controls.GoogleAuthenticator.LoadQR(Tuple`2 multiAuth)
at DrakeAccounting.frmUserSetup.populateSelectedUser()
at DrakeAccounting.frmUserSetup.set_CurrentUser(Security value)
at DrakeAccounting.frmUserSetup.cmdNewSave_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.PerformClick()
at DrakeAccounting.frmUserSetup.frmAdminSetup_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
from googleauthenticator.
Okay, a bit more info. Our patching system wasn't catching the change in the dll because the file version doesn't change, only the product version. We have resolved that. With that, I can definitely say that if we use the 2.1.1 version we are ok - if we move to 2.2.0 it fails.
from googleauthenticator.
Okay, so the method in question actually has the following signature:
public bool ValidateTwoFactorPIN(
string accountSecretKey,
string twoFactorCodeFromClient,
bool secretIsBase32 = false)
That last optional parameter was indeed added recently and may have been in 2.2.0. That should be fine - as long as the calling code is recompiled. If the calling code for some reason has not recompiled against the new signature, it will fail like what you describe. In hindsight, we should not have added an optional param but instead added an extra overload.
Simplest answer is probably to add a third parameter false
to your call-site and re-compile.
from googleauthenticator.
Related Issues (20)
- Could not load type 'QRCoder.QRCode' HOT 4
- Remove Uri.EscapeUriString HOT 2
- Consider moving to PngByteQRCode fully HOT 1
- Change supported framework versions HOT 2
- AzDO to test on both Linux and Windows HOT 1
- Test if Libgdplus still required HOT 2
- Add Mac to tetring matrix
- Remove framework specific code from test project
- GenerateSetupCode starts throwing GDI+ errors after a random period HOT 8
- A strongly-named assembly is required HOT 4
- Readme suggestion for key
- Add 2.5 and 3.0 to releases HOT 1
- Not an issue but I have questions HOT 2
- Name of the repo HOT 1
- Passcodes are reusable HOT 1
- Missing ...else { throw; } ? HOT 1
- Net 4.5 support is now problematic HOT 4
- Release v 2.4 HOT 4
- Could not load type 'QRCoder.QRCode' from assembly 'QRCoder, Version=1.4.3.0' HOT 6
- .NET Core 6 support HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from googleauthenticator.