GUI from Authorization Mechanism

When I run a test program that calls SFAuthorization::obtainWithRights, I see my user feedback dialogs. I have used the normal SFAuthorizationPluginView class, but even the simple NSAlert works from the desktop. However, when I add my mechanisms to the system.login.console right, all attempts to produce user feedback have failed. I've spent two solid days trying every iteration and work around that I can think of.


At first I thought that my dialogs were stuck underneath the login window, but I tried moving my feedback mechanism to be first in line (prior to builtin:policy-banner and loginwindow:login). I can tell that something is happening when an alert is supposed to be active; I have to hit return in order to continue with the mechanism chain. But there's no visible effect.


I read somewhere that many of the core GUI frameworks don't work because they all check the user's preferences for the default font size, locale, etc. so they won't work until the user's home directory is mounted.


I also tried changing the com.apple.loginwindows.plist entry LoginwindowText to reflect my error messages. Although I can read the plist (at least from a priviliged mechanism), attempts to change the text and write it back have failed.


Is there a low level graphics API (Quartz, OpenGL, X11) that my plug-in can access that will provide user feedback before the user directory is mounted?

I read somewhere that many of the core GUI frameworks don't work because they all check the user's preferences for the default font size, locale, etc. so they won't work until the user's home directory is mounted.

That may be true (never tried it myself) but it's irrelevant to an auth plug-in because the auth plug-in's code runs as _securityagent.

Is your final goal to create an SFAuthorizationPluginView or to display content in your own window? That matters because, in the latter case, you have to make sure to set

canBecomeVisibleWithoutLogin
on your window. In the former case your view shows up in a window managed by the system, which already has that property set.

Share and Enjoy

Quinn "The Eskimo!"
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"
GUI from Authorization Mechanism
 
 
Q