1: <?php
2: /*
3: * Authentication Manager
4: *
5: * @copyright Ashley Kitson, UK, 2014
6: * @license GPL 3.0+
7: */
8: namespace Chippyash\Authentication\Manager;
9:
10: use Chippyash\Type\String\StringType;
11:
12: /**
13: * Interface for an authentication manager
14: * Basic CRUD functionality for managing authentication identities within
15: * a target auth paradigm
16: *
17: */
18: interface ManagerInterface {
19:
20: /**
21: * Create a new identity in the target system
22: *
23: * @param StringType $uid
24: * @param StringType $pwd
25: *
26: * @return boolean True if created else false
27: */
28: public function create(StringType $uid, StringType $pwd);
29:
30: /**
31: * Return raw record from target system
32: *
33: * @param StringType $uid
34: *
35: * @return mixed Dependent on target system
36: */
37: public function read(StringType $uid);
38:
39: /**
40: * Update the password for the identity given the uid
41: *
42: * @param StringType $uid
43: * @param StringType $pwd
44: *
45: * @return boolean True if updated else false
46: */
47: public function update(StringType $uid, StringType $pwd);
48:
49: /**
50: * Delete the identity given the uid
51: *
52: * @param StringType $uid
53: *
54: * @return boolean True if deleted else false
55: */
56: public function delete(StringType $uid);
57:
58: /**
59: * Does digest have identity specified by uid
60: *
61: * @param StringType $uid
62: *
63: * @return boolean True if entry exists else false
64: */
65: public function has(StringType $uid);
66: }
67: