uint8_t (*getRole_ptr)()
The function pointer needs to have exactly the same format as the pointed at function. So you need to specify the types of the two parameters:
uint8_t (*getRole_ptr)(const char*, const UsertoRole_T*);
(Otherwise C will take your code to a horrible place called implicit land, where bizarre creatures like "default argument promotions" exist. You don't even want to know what that is, just write out the full function with proper parameters.)
Hopefully you can tell that the function pointer declaration just written looks like unreadable crap. Therefore you should use a typedef instead:
typedef uint8_t (*role_ptr_t)(const char*, const UsertoRole_T*);
...
role_ptr_t getRole_ptr;
Where do I initalize the function pointer getRole_ptr?
How do I initialize the function pointer?
Formal initialization can only occur on the line where you declare a variable. So if you for some strange reason must use initialization, rather than assignment, then you have to do so on the same line as the declaration:
role_ptr_t getRole_ptr = Authorization_getRole;
Is the syntax below correct?
No. See correct syntax above.