diff options
Diffstat (limited to '')
-rw-r--r-- | security/manager/ssl/nsIOSReauthenticator.idl | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/security/manager/ssl/nsIOSReauthenticator.idl b/security/manager/ssl/nsIOSReauthenticator.idl new file mode 100644 index 0000000000..753322ced5 --- /dev/null +++ b/security/manager/ssl/nsIOSReauthenticator.idl @@ -0,0 +1,45 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsISupports.idl" + +interface mozIDOMWindow; + +[scriptable, uuid(4fe082ae-6ff0-4b41-b24f-eaa664f6e46a)] +interface nsIOSReauthenticator: nsISupports { + /** + * This interface provides an abstract way to request that the user + * reauthenticate themselves to the operating system. It may be useful in + * conjunction with nsIOSKeyStore, whereby consumers of these APIs may + * consider some secrets too sensitive to access without first + * reauthenticating the user. + * + * Usage: + * + * // obtain the singleton nsIOSReauthenticator instance + * const reauthenticator = Cc["@mozilla.org/security/osreauthenticator;1"] + * .getService(Ci.nsIOSReauthenticator); + * if (await reauthenticator.asyncReauthenticate()) { + * // do something only authenticated users are allowed to do... + * } else { + * // show a "sorry, this isn't allowed" error + * } + */ + + /** + * Asynchronously cause the operating system to request that the user + * reauthenticate. This is typically in the form of a dialog box asking the + * user for their login password. The actual behaviour of this depends on the + * OS. + * + * @param prompt A short string that may be incorporated in the dialog + * @param caption A short string that may be shown as the dialog caption (usually Product Name) + * @param parentWindow Used to associate the OS dialog with the calling window. + * @return Promise resolving to true if the user successfully authenticated + * and false otherwise. + */ + [implicit_jscontext, must_use] + Promise asyncReauthenticateUser(in AString prompt, in AString caption, in mozIDOMWindow parentWindow); +}; |