GUI Authorization Plugin shows a spinner in front of window

We are building an Authorization Plugin with a custom GUI where we prompt the user for additional information after they have entered their username/password. Right now, we are doing this using an NSWindowController and an NSWindow.

The problem is that the login "spinner" shows up in front of the window as seen here:

Is there a way to avoid this? Or do we have to subclass SFAuthorizationPluginView to get this to work?

Thanks!

Hmmm, that UI looks very familiar (-:

What OS release are you testing this on?

Where in the mechanisms array have you placed your plug-in’s mechanism?

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Hmmm, that UI looks very familiar (-:

Indeed, and thanks again. :)

Where in the mechanisms array have you placed your plug-in’s mechanism?

So, i had place them all at the very end of the pipeline but after posting this I tried putting our mechanism after <string>builtin:login-success</string> and before <string>loginwindow:success</string> and that works.

So I now have (mine being CustomAuthPlugin):

                <string>builtin:prelogin</string>
                <string>builtin:policy-banner</string>
                <string>loginwindow:login</string>
                <string>builtin:login-begin</string>
                <string>builtin:reset-password,privileged</string>
                <string>loginwindow:FDESupport,privileged</string>
                <string>builtin:forward-login,privileged</string>
                <string>builtin:auto-login,privileged</string>
                <string>builtin:authenticate,privileged</string>
                <string>PKINITMechanism:auth,privileged</string>
                <string>builtin:login-success</string>
                <string>CustomAuthPlugin:invoke</string>
                <string>loginwindow:success</string>
                <string>HomeDirMechanism:login,privileged</string>
                <string>HomeDirMechanism:status</string>
                <string>MCXMechanism:login</string>
                <string>CryptoTokenKit:login</string>
                <string>loginwindow:done</string>

which seems to be fine though I don't know if that has other implications that I'm not yet aware of.

which seems to be fine though

Yeah, this is tricky. The exact relationship between the various mechanisms in that array is not well documented and it’s one of the many things that make auth plug-ins so brittle. I can’t see any obvious problem with the new placement. If I were in your shoes I’d probably just leave well enough alone here.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

I want to ask how to display NSWindowController I followed the NameAndPassWord paradigm successfully, but not what I want. I followed https://github.com/tburgin/PSU_2015/blob/master/VerifyAuthPlugin/AuthorizationPlugin.m which seems to be what I want, but I don't understand why my NSWindowController is not showing on the screen (I thought it might be Login screen overlaid below), but I know it's working because it does have the expected behavior when I press kAuthorizationResultAllow or kAuthorizationResultDeny. My purpose is to add another MFA verification after entering the native password on macos! At this time, an NSWindowController is needed to tell the user what is currently happening, and process the results of the mfa verification to determine whether the user can log in. So I want window:login to remain and just need to implement NSWindowController. I should use an authorization plugin with a custom GUI, right? Are there any similar examples that you can refer to? In addition, how to obtain the log information of writing this package?

If you’re getting started with authorisation plug-ins, I recommend that you open a DTS tech support incident so that I can pass along some critical resources.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

GUI Authorization Plugin shows a spinner in front of window
 
 
Q