1<?php
2
3namespace OCP\Authentication;
4
5use OCP\IRequest;
6use OCP\IUser;
7
8/**
9 * Interface IAuthModule
10 *
11 * @package OCP\Authentication
12 * @since 10.0.0
13 */
14interface IAuthModule {
15
16	/**
17	 * Authenticates a request.
18	 *
19	 * @param IRequest $request The request.
20	 *
21	 * @return null|IUser The user if the request is authenticated, null otherwise.
22	 * @since 10.0.0
23	 */
24	public function auth(IRequest $request);
25
26	/**
27	 * Returns the user's password.
28	 *
29	 * @param IRequest $request The request.
30	 *
31	 * @return String The user's password.
32	 * @since 10.0.0
33	 */
34	public function getUserPassword(IRequest $request);
35}
36