Learning

Core Ideas

The Story and One Registration

Distinguish the story, its realization and an actual occurrence.

Downloads

A story expresses a product promise as a compile-time abstraction. Its code implements that promise; a particular registration supplies the actual data.

Term In the workshop
Story Google registration, no registration password, a selected entry policy, and owed confirmation.
Realization The Rust code and provider that implement those choices.
Occurrence This person's registration, using this provider and store now.

The compiler can reject an unsupported combination. The running program must check whether this person's identity and session are valid.

Scope stays specific: WithoutPassword describes registration. A separate login story may have its own password rules.

One story, many registrations. One selected registration story is realized by the workshop code and used by separate registrations for Ari and Bima.One story, many registrations. One selected registration story is realized by the workshop code and used by separate registrations for Ari and Bima.

These two reference selections differ only in entry policy:

pub type OpenWorkshop<P> = Workshop<Google<P>, WithoutPassword, CookieValid>;
pub type ConfirmedWorkshop<P> = Workshop<Google<P>, WithoutPassword, ConfirmedOnly>;
Engineering Depth

P names the provider's type. The workshop object holds the actual provider. CookieValid permits entry before confirmation; ConfirmedOnly waits for confirmation.

Both choices still require an active, unexpired session. See CS-01 and CS-04.

Your Reflection

The type selects Google. What must happen before this person's registration proceeds?

Worked Discussion

The configured provider must verify the submitted assertion. Admission then checks the current records. Selecting a provider type alone establishes neither fact.

Navigation