---
title: SFAuthorizationPluginView
framework: securityinterface
role: symbol
role_heading: Class
path: securityinterface/sfauthorizationpluginview
---

# SFAuthorizationPluginView

Allows authorization plug-in developers to create a custom view their plug-in can display.

## Declaration

```swift
class SFAuthorizationPluginView
```

## Overview

Overview If you’re developing an authorization plug-in, you can subclass the SFAuthorizationPluginView class to create views that provide a custom user interface for your plug-in. By subclassing the SFAuthorizationPluginView class, you avoid changing or duplicating the Apple-provided authentication or login window dialogs to display your custom view. To instantiate your SFAuthorizationPluginView subclass, you need the callbacks structure containing entry points to the Security Server that you receive in your plug-in’s AuthorizationPluginCreate function and the authorization engine handle you receive in your plug-in’s MechanismCreate function. Your custom subclass of SFAuthorizationPluginView must override the following methods: buttonPressed(_:) view(for:)

## Topics

### Initializing an SFAuthorizationPluginView Object

- [init(callbacks:andEngineRef:)](securityinterface/sfauthorizationpluginview/init(callbacks:andengineref:).md)

### Getting Instance Information

- [callbacks()](securityinterface/sfauthorizationpluginview/callbacks().md)
- [engineRef()](securityinterface/sfauthorizationpluginview/engineref().md)
- [lastError()](securityinterface/sfauthorizationpluginview/lasterror().md)

### Responding to User Actions

- [buttonPressed(_:)](securityinterface/sfauthorizationpluginview/buttonpressed(_:).md)
- [view(for:)](securityinterface/sfauthorizationpluginview/view(for:).md)

### Configuring the User Interface

- [didActivate()](securityinterface/sfauthorizationpluginview/didactivate().md)
- [didDeactivate()](securityinterface/sfauthorizationpluginview/diddeactivate().md)
- [willActivate(withUser:)](securityinterface/sfauthorizationpluginview/willactivate(withuser:).md)

### Setting Up the Keyboard Loop

- [firstKeyView()](securityinterface/sfauthorizationpluginview/firstkeyview().md)
- [firstResponder()](securityinterface/sfauthorizationpluginview/firstresponder().md)
- [lastKeyView()](securityinterface/sfauthorizationpluginview/lastkeyview().md)

### Enabling and Disabling Controls

- [setEnabled(_:)](securityinterface/sfauthorizationpluginview/setenabled(_:).md)

### Communicating with the Authorization Plug-in

- [display()](securityinterface/sfauthorizationpluginview/display().md)
- [setButton(_:enabled:)](securityinterface/sfauthorizationpluginview/setbutton(_:enabled:).md)
- [update()](securityinterface/sfauthorizationpluginview/update().md)

### Constants

- [SFButtonType](securityinterface/sfbuttontype.md)
- [SFViewType](securityinterface/sfviewtype.md)
- [Exceptions](securityinterface/exceptions.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Classes

- [SFAuthorizationView](securityinterface/sfauthorizationview.md)
- [SFCertificatePanel](securityinterface/sfcertificatepanel.md)
- [SFCertificateTrustPanel](securityinterface/sfcertificatetrustpanel.md)
- [SFCertificateView](securityinterface/sfcertificateview.md)
- [SFChooseIdentityPanel](securityinterface/sfchooseidentitypanel.md)
- [SFChooseIdentityTableCellView](securityinterface/sfchooseidentitytablecellview.md)
- [SFKeychainSavePanel](securityinterface/sfkeychainsavepanel.md)
- [SFKeychainSettingsPanel](securityinterface/sfkeychainsettingspanel.md)
